Coverage Report

Created: 2025-05-28 01:56

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <system_error>
32
#include <tuple>
33
34
namespace scn {
35
SCN_BEGIN_NAMESPACE
36
37
/////////////////////////////////////////////////////////////////
38
// Metaprogramming facilities
39
/////////////////////////////////////////////////////////////////
40
41
namespace detail {
42
43
template <typename T>
44
using integer_type_for_char =
45
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
46
47
template <typename T, template <typename...> class Templ>
48
struct is_specialization_of_impl : std::false_type {};
49
template <typename... T, template <typename...> class Templ>
50
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
51
52
template <typename T, template <typename...> class Templ>
53
using is_specialization_of =
54
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
55
template <typename T, template <typename...> class Templ>
56
inline constexpr bool is_specialization_of_v =
57
    is_specialization_of<T, Templ>::value;
58
59
// from mp11:
60
61
template <typename T>
62
struct mp_identity {
63
    using type = T;
64
};
65
template <typename T>
66
using mp_identity_t = typename mp_identity<T>::type;
67
68
template <bool B>
69
using mp_bool = std::integral_constant<bool, B>;
70
template <typename T>
71
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
72
template <typename T>
73
using mp_not = mp_bool<!T::value>;
74
75
template <bool C, typename T, typename... E>
76
struct mp_if_c_impl;
77
template <typename T, typename... E>
78
struct mp_if_c_impl<true, T, E...> {
79
    using type = T;
80
};
81
template <typename T, typename E>
82
struct mp_if_c_impl<false, T, E> {
83
    using type = E;
84
};
85
86
template <bool C, typename T, typename... E>
87
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
88
template <typename C, typename T, typename... E>
89
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
90
91
template <template <typename...> class F, typename... T>
92
struct mp_valid_impl {
93
    template <template <typename...> class G, typename = G<T...>>
94
    static std::true_type check(int);
95
    template <template <typename...> class>
96
    static std::false_type check(...);
97
98
    using type = decltype(check<F>(0));
99
};
100
101
template <template <typename...> class F, typename... T>
102
using mp_valid = typename mp_valid_impl<F, T...>::type;
103
template <template <typename...> class F, typename... T>
104
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
105
106
struct mp_nonesuch {};
107
template <template <typename...> class F, typename... T>
108
struct mp_defer_impl {
109
    using type = F<T...>;
110
};
111
112
template <template <typename...> class F, typename... T>
113
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
114
115
template <bool C, class T, template <class...> class F, class... U>
116
struct mp_eval_if_c_impl;
117
118
template <class T, template <class...> class F, class... U>
119
struct mp_eval_if_c_impl<true, T, F, U...> {
120
    using type = T;
121
};
122
123
template <class T, template <class...> class F, class... U>
124
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
125
126
template <bool C, class T, template <class...> class F, class... U>
127
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
128
template <class C, class T, template <class...> class F, class... U>
129
using mp_eval_if =
130
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
131
template <class C, class T, class Q, class... U>
132
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
133
                                                T,
134
                                                Q::template fn,
135
                                                U...>::type;
136
137
// mp_eval_if_not
138
template <class C, class T, template <class...> class F, class... U>
139
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
140
template <class C, class T, class Q, class... U>
141
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
142
143
// mp_eval_or
144
template <class T, template <class...> class F, class... U>
145
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
146
template <class T, class Q, class... U>
147
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
148
149
// mp_valid_and_true
150
template <template <class...> class F, class... T>
151
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
152
template <class Q, class... T>
153
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
154
155
// extension
156
template <template <typename...> class F, typename... T>
157
using mp_valid_result =
158
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
159
template <template <typename...> class F, typename... T>
160
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
161
162
/////////////////////////////////////////////////////////////////
163
// pointer_traits and to_address
164
/////////////////////////////////////////////////////////////////
165
166
template <typename Ptr, typename>
167
struct pointer_traits {};
168
169
template <typename T>
170
struct pointer_traits<T*, void> {
171
    using pointer = T*;
172
    using element_type = T;
173
    using difference_type = std::ptrdiff_t;
174
175
    template <typename U>
176
    using rebind = U*;
177
178
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
179
    static constexpr pointer pointer_to(U& r) noexcept
180
    {
181
        return &r;
182
    }
183
184
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
185
    {
186
        return p;
187
    }
188
};
189
190
template <typename Ptr>
191
using apply_member_difference_type = typename Ptr::difference_type;
192
template <typename Ptr>
193
using get_member_difference_type =
194
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
195
196
template <typename Ptr, typename ElementType>
197
struct pointer_traits_generic_base {
198
    using pointer = Ptr;
199
    using element_type = ElementType;
200
201
    using difference_type = get_member_difference_type<Ptr>;
202
    static_assert(std::is_integral_v<difference_type>);
203
204
    // no rebind (TODO?)
205
206
    template <typename P = Ptr>
207
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
208
    {
209
        return Ptr::pointer_to(r);
210
    }
211
};
212
213
template <typename It, typename = void>
214
struct wrapped_pointer_iterator;
215
216
#ifdef _GLIBCXX_DEBUG
217
template <typename Elem, typename Container>
218
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
219
    SCN_FORCE_INLINE static constexpr auto to_address(
220
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
221
    {
222
        return it.base();
223
    }
224
};
225
#endif
226
#if SCN_STDLIB_GLIBCXX
227
template <typename Elem, typename Container>
228
struct wrapped_pointer_iterator<
229
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
230
    SCN_FORCE_INLINE static constexpr auto to_address(
231
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
232
    {
233
        return it.base();
234
    }
235
};
236
#endif
237
#if SCN_STDLIB_LIBCPP
238
template <typename Elem>
239
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
240
    SCN_FORCE_INLINE static constexpr auto to_address(
241
        const std::__wrap_iter<Elem*>& it) noexcept
242
0
    {
243
0
        return it.base();
244
0
    }
245
};
246
#endif
247
248
template <typename I>
249
using apply_deref = decltype(*SCN_DECLVAL(I&));
250
template <typename I>
251
using apply_incr = decltype(++SCN_DECLVAL(I&));
252
template <typename I>
253
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
254
template <typename It>
255
struct wrapped_pointer_iterator<
256
    It,
257
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
258
                     mp_valid_v<apply_incr, It> &&
259
                     mp_valid_v<apply_member_unwrapped, It>>> {
260
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
261
    {
262
        return it._Unwrapped();
263
    }
264
};
265
266
template <typename I>
267
using apply_member_to_address =
268
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
269
270
template <typename Iterator>
271
struct pointer_traits<
272
    Iterator,
273
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
274
    : pointer_traits_generic_base<
275
          Iterator,
276
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
277
    SCN_FORCE_INLINE static constexpr auto to_address(
278
        const Iterator& it) noexcept
279
0
    {
280
0
        return wrapped_pointer_iterator<Iterator>::to_address(it);
281
0
    }
282
};
283
284
template <typename It>
285
using apply_ptr_traits_to_address =
286
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
287
template <typename It>
288
inline constexpr bool can_make_address_from_iterator =
289
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
290
291
template <typename T>
292
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
293
5.18M
{
294
5.18M
    return p;
295
5.18M
}
char const* scn::v4::detail::to_address_impl<char const>(char const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
293
4.57M
{
294
4.57M
    return p;
295
4.57M
}
wchar_t const* scn::v4::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v4::detail::priority_tag<2ul>)
Line
Count
Source
293
616k
{
294
616k
    return p;
295
616k
}
296
template <typename Ptr>
297
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
298
                                                priority_tag<1>) noexcept
299
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
300
{
301
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
302
}
303
template <typename Ptr>
304
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
305
                                                priority_tag<0>) noexcept
306
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
307
                                               priority_tag<2>{}))
308
{
309
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
310
}
311
312
template <typename Ptr>
313
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
314
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
315
5.18M
{
316
5.18M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
5.18M
}
_ZN3scn2v46detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
1.78M
{
316
1.78M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
1.78M
}
_ZN3scn2v46detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
2.78M
{
316
2.78M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
2.78M
}
_ZN3scn2v46detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
315
616k
{
316
616k
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
317
616k
}
Unexecuted instantiation: _ZN3scn2v46detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
318
319
}  // namespace detail
320
321
/////////////////////////////////////////////////////////////////
322
// <expected> implementation
323
/////////////////////////////////////////////////////////////////
324
325
// The following implementation of expected is based on TartanLlama/expected,
326
// but is heavily modified.
327
//
328
// The original source is here:
329
//     https://github.com/TartanLlama/expected
330
// which is licensed under CC0 (Public Domain).
331
332
/**
333
 * \see `std::unexpected`
334
 */
335
template <typename E>
336
class SCN_TRIVIAL_ABI unexpected {
337
    static_assert(std::is_destructible_v<E>);
338
339
public:
340
    unexpected() = delete;
341
342
    template <
343
        typename Err = E,
344
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
345
                                    !std::is_same_v<Err, std::in_place_t> &&
346
                                    std::is_constructible_v<E, Err>>>
347
    explicit constexpr unexpected(Err&& e) noexcept(
348
        std::is_nothrow_constructible_v<E, Err>)
349
3.26M
        : m_unexpected(std::forward<Err>(e))
350
5.64M
    {
351
5.64M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
5.64M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error&, void>(scn::v4::scan_error&)
Line
Count
Source
349
2.60M
        : m_unexpected(std::forward<Err>(e))
350
2.60M
    {
351
2.60M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
2.60M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(scn::v4::scan_error&&)
Line
Count
Source
349
592k
        : m_unexpected(std::forward<Err>(e))
350
592k
    {
351
592k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
592k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(scn::v4::impl::parse_error&&)
Line
Count
Source
349
12.5k
        : m_unexpected(std::forward<Err>(e))
350
12.5k
    {
351
12.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
12.5k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error&, void>(scn::v4::impl::parse_error&)
Line
Count
Source
349
49.1k
        : m_unexpected(std::forward<Err>(e))
350
49.1k
    {
351
49.1k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
49.1k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error, void>(scn::v4::impl::eof_error&&)
Line
Count
Source
349
49.1k
        : m_unexpected(std::forward<Err>(e))
350
49.1k
    {
351
49.1k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
49.1k
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::unexpected<scn::v4::impl::eof_error&, void>(scn::v4::impl::eof_error&)
Line
Count
Source
349
27.5k
        : m_unexpected(std::forward<Err>(e))
350
27.5k
    {
351
27.5k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
27.5k
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::unexpected<scn::v4::impl::parse_error::code, void>(scn::v4::impl::parse_error::code&&)
Line
Count
Source
349
2.30M
        : m_unexpected(std::forward<Err>(e))
350
2.30M
    {
351
2.30M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
352
2.30M
    }
353
354
    template <typename... Args,
355
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
356
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
357
        std::is_nothrow_constructible_v<E, Args...>)
358
5.77M
        : m_unexpected(std::forward<Args>(args)...)
359
5.84M
    {
360
5.84M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
5.84M
    }
scn::v4::unexpected<scn::v4::scan_error>::unexpected<scn::v4::scan_error, void>(std::__1::in_place_t, scn::v4::scan_error&&)
Line
Count
Source
358
3.36M
        : m_unexpected(std::forward<Args>(args)...)
359
3.36M
    {
360
3.36M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
3.36M
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error, void>(std::__1::in_place_t, scn::v4::impl::parse_error&&)
Line
Count
Source
358
110k
        : m_unexpected(std::forward<Args>(args)...)
359
110k
    {
360
110k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
110k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::unexpected<scn::v4::impl::parse_error::code, void>(std::__1::in_place_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
358
2.30M
        : m_unexpected(std::forward<Args>(args)...)
359
2.30M
    {
360
2.30M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
361
2.30M
    }
362
363
    SCN_NODISCARD constexpr E& error() & noexcept
364
9.50M
    {
365
9.50M
        return m_unexpected;
366
9.50M
    }
scn::v4::unexpected<scn::v4::scan_error>::error() &
Line
Count
Source
364
5.84M
    {
365
5.84M
        return m_unexpected;
366
5.84M
    }
scn::v4::unexpected<scn::v4::impl::eof_error>::error() &
Line
Count
Source
364
153k
    {
365
153k
        return m_unexpected;
366
153k
    }
scn::v4::unexpected<scn::v4::impl::parse_error>::error() &
Line
Count
Source
364
1.20M
    {
365
1.20M
        return m_unexpected;
366
1.20M
    }
scn::v4::unexpected<scn::v4::impl::parse_error::code>::error() &
Line
Count
Source
364
2.30M
    {
365
2.30M
        return m_unexpected;
366
2.30M
    }
367
    SCN_NODISCARD constexpr const E& error() const& noexcept
368
0
    {
369
0
        return m_unexpected;
370
0
    }
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::unexpected<scn::v4::impl::parse_error>::error() const &
371
372
    SCN_NODISCARD constexpr E&& error() && noexcept
373
    {
374
        return std::move(m_unexpected);
375
    }
376
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
377
    {
378
        return std::move(m_unexpected);
379
    }
380
381
private:
382
    E m_unexpected;
383
};
384
385
template <typename E>
386
unexpected(E) -> unexpected<E>;
387
388
struct unexpect_t {};
389
inline constexpr unexpect_t unexpect{};
390
391
namespace detail {
392
template <typename T, typename... Args>
393
T* construct_at(T* p, Args&&... args) noexcept(
394
    std::is_nothrow_constructible_v<T, Args...>)
395
683k
{
396
683k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
683k
        T(std::forward<Args>(args)...);
398
683k
}
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*, scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
395
520k
{
396
520k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
520k
        T(std::forward<Args>(args)...);
398
520k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
scn::v4::unexpected<scn::v4::scan_error>* scn::v4::detail::construct_at<scn::v4::unexpected<scn::v4::scan_error>, std::__1::in_place_t const&, scn::v4::scan_error>(scn::v4::unexpected<scn::v4::scan_error>*, std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
395
30.5k
{
396
30.5k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
30.5k
        T(std::forward<Args>(args)...);
398
30.5k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
395
57.4k
{
396
57.4k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
57.4k
        T(std::forward<Args>(args)...);
398
57.4k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
395
57.3k
{
396
57.3k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
57.3k
        T(std::forward<Args>(args)...);
398
57.3k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
395
8.80k
{
396
8.80k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
8.80k
        T(std::forward<Args>(args)...);
398
8.80k
}
Unexecuted instantiation: std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
395
8.80k
{
396
8.80k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
397
8.80k
        T(std::forward<Args>(args)...);
398
8.80k
}
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >>(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v4::detail::construct_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
399
template <typename T>
400
void destroy_at(T* p) noexcept
401
162k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
162k
    else {
408
162k
        p->~T();
409
162k
    }
410
162k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>*)
Line
Count
Source
401
30.5k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
30.5k
    else {
408
30.5k
        p->~T();
409
30.5k
    }
410
30.5k
}
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
57.4k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
57.4k
    else {
408
57.4k
        p->~T();
409
57.4k
    }
410
57.4k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
57.3k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
57.3k
    else {
408
57.3k
        p->~T();
409
57.3k
    }
410
57.3k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
8.80k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
8.80k
    else {
408
8.80k
        p->~T();
409
8.80k
    }
410
8.80k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v4::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
401
8.80k
{
402
    if constexpr (std::is_array_v<T>) {
403
        for (auto& elem : *p) {
404
            scn::detail::destroy_at(&elem);
405
        }
406
    }
407
8.80k
    else {
408
8.80k
        p->~T();
409
8.80k
    }
410
8.80k
}
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Unexecuted instantiation: void scn::v4::detail::destroy_at<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
411
412
struct deferred_init_tag_t {};
413
static constexpr deferred_init_tag_t deferred_init_tag{};
414
415
template <typename T,
416
          typename E,
417
          bool IsTriviallyDestructible =
418
              (std::is_void_v<T> || std::is_trivially_destructible_v<T>) &&
419
              std::is_trivially_destructible_v<E>>
420
struct expected_storage_base;
421
422
template <typename T, typename E>
423
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
424
    constexpr expected_storage_base() noexcept(
425
        std::is_nothrow_default_constructible_v<T>)
426
1.26M
        : m_value(T{}), m_has_value(true)
427
1.26M
    {
428
1.26M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
73.2k
        : m_value(T{}), m_has_value(true)
427
73.2k
    {
428
73.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
64.2k
        : m_value(T{}), m_has_value(true)
427
64.2k
    {
428
64.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
85.6k
        : m_value(T{}), m_has_value(true)
427
85.6k
    {
428
85.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
69.6k
        : m_value(T{}), m_has_value(true)
427
69.6k
    {
428
69.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
87.1k
        : m_value(T{}), m_has_value(true)
427
87.1k
    {
428
87.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
70.4k
        : m_value(T{}), m_has_value(true)
427
70.4k
    {
428
70.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
73.2k
        : m_value(T{}), m_has_value(true)
427
73.2k
    {
428
73.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
64.2k
        : m_value(T{}), m_has_value(true)
427
64.2k
    {
428
64.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
85.1k
        : m_value(T{}), m_has_value(true)
427
85.1k
    {
428
85.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
69.7k
        : m_value(T{}), m_has_value(true)
427
69.7k
    {
428
69.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
86.6k
        : m_value(T{}), m_has_value(true)
427
86.6k
    {
428
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
70.4k
        : m_value(T{}), m_has_value(true)
427
70.4k
    {
428
70.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.7k
        : m_value(T{}), m_has_value(true)
427
30.7k
    {
428
30.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.6k
        : m_value(T{}), m_has_value(true)
427
30.6k
    {
428
30.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.8k
        : m_value(T{}), m_has_value(true)
427
30.8k
    {
428
30.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.7k
        : m_value(T{}), m_has_value(true)
427
30.7k
    {
428
30.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.9k
        : m_value(T{}), m_has_value(true)
427
30.9k
    {
428
30.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.8k
        : m_value(T{}), m_has_value(true)
427
30.8k
    {
428
30.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.7k
        : m_value(T{}), m_has_value(true)
427
30.7k
    {
428
30.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.6k
        : m_value(T{}), m_has_value(true)
427
30.6k
    {
428
30.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.8k
        : m_value(T{}), m_has_value(true)
427
30.8k
    {
428
30.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.7k
        : m_value(T{}), m_has_value(true)
427
30.7k
    {
428
30.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.9k
        : m_value(T{}), m_has_value(true)
427
30.9k
    {
428
30.9k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base()
Line
Count
Source
426
30.8k
        : m_value(T{}), m_has_value(true)
427
30.8k
    {
428
30.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base()
429
430
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
431
        : m_deferred_init(), m_has_value(false)
432
    {
433
    }
434
435
    template <typename... Args,
436
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
437
    constexpr explicit expected_storage_base(
438
        std::in_place_t,
439
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
440
14.5M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
14.5M
    {
442
14.5M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
440
363k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
363k
    {
442
363k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
440
362k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
362k
    {
442
362k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
440
11.3k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
11.3k
    {
442
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
440
11.3k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
11.3k
    {
442
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
440
1.33M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.33M
    {
442
1.33M
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
440
158k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
158k
    {
442
158k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
440
1.25M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
1.25M
    {
442
1.25M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
440
595k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
595k
    {
442
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
440
139k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
139k
    {
442
139k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
412k
    {
442
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
440
609k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
609k
    {
442
609k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
440
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
412k
    {
442
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
440
412k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
412k
    {
442
412k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
440
595k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
595k
    {
442
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
414k
    {
442
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
440
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
414k
    {
442
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
440
414k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
414k
    {
442
414k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
440
381k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
381k
    {
442
381k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
440
118k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
118k
    {
442
118k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
440
10.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
10.6k
    {
442
10.6k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
133k
    {
442
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
440
84.0k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
84.0k
    {
442
84.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
440
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
133k
    {
442
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
440
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
133k
    {
442
133k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
440
118k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
118k
    {
442
118k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
440
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
133k
    {
442
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
440
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
133k
    {
442
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
440
133k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
133k
    {
442
133k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
2.50M
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.50M
    {
442
2.50M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
289k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
289k
    {
442
289k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
936k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
936k
    {
442
936k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
440
139k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
139k
    {
442
139k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
440
2.59k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
2.59k
    {
442
2.59k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
440
749k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
749k
    {
442
749k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
381k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
381k
    {
442
381k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
440
10.6k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
10.6k
    {
442
10.6k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
440
81.2k
        : m_value(std::forward<Args>(args)...), m_has_value(true)
441
81.2k
    {
442
81.2k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<unsigned long, void>(std::__1::in_place_t, unsigned long&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
443
444
    template <typename... Args,
445
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
446
    constexpr explicit expected_storage_base(
447
        unexpect_t,
448
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
449
5.04M
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
5.04M
          m_has_value(false)
451
5.04M
    {
452
5.04M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
86.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
86.6k
          m_has_value(false)
451
86.6k
    {
452
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
86.6k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
86.6k
          m_has_value(false)
451
86.6k
    {
452
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
14.4k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
14.4k
          m_has_value(false)
451
14.4k
    {
452
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
173k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
173k
          m_has_value(false)
451
173k
    {
452
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
173k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
173k
          m_has_value(false)
451
173k
    {
452
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
28.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
28.8k
          m_has_value(false)
451
28.8k
    {
452
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
142k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
142k
          m_has_value(false)
451
142k
    {
452
142k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
328k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
328k
          m_has_value(false)
451
328k
    {
452
328k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
520k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
520k
          m_has_value(false)
451
520k
    {
452
520k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
171k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
171k
          m_has_value(false)
451
171k
    {
452
171k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
329k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
329k
          m_has_value(false)
451
329k
    {
452
329k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
23.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
23.8k
          m_has_value(false)
451
23.8k
    {
452
23.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
9.70k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
9.70k
          m_has_value(false)
451
9.70k
    {
452
9.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
23.2k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
23.2k
          m_has_value(false)
451
23.2k
    {
452
23.2k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
840k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
840k
          m_has_value(false)
451
840k
    {
452
840k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
11.5k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
11.5k
          m_has_value(false)
451
11.5k
    {
452
11.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
8.74k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
8.74k
          m_has_value(false)
451
8.74k
    {
452
8.74k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
12.0k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
12.0k
          m_has_value(false)
451
12.0k
    {
452
12.0k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
814k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
814k
          m_has_value(false)
451
814k
    {
452
814k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
20.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
20.7k
          m_has_value(false)
451
20.7k
    {
452
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
1.42k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
1.42k
          m_has_value(false)
451
1.42k
    {
452
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
37.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
37.8k
          m_has_value(false)
451
37.8k
    {
452
37.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
375k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
375k
          m_has_value(false)
451
375k
    {
452
375k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Line
Count
Source
449
20.7k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
20.7k
          m_has_value(false)
451
20.7k
    {
452
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
449
1.42k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
1.42k
          m_has_value(false)
451
1.42k
    {
452
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
449
37.8k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
37.8k
          m_has_value(false)
451
37.8k
    {
452
37.8k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_storage_base<scn::v4::impl::parse_error::code, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error::code&&)
Line
Count
Source
449
270k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
450
270k
          m_has_value(false)
451
270k
    {
452
270k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_storage_base<scn::v4::impl::eof_error, void>(scn::v4::unexpect_t, scn::v4::impl::eof_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
453
454
    constexpr T& get_value() & noexcept
455
16.5M
    {
456
16.5M
        return m_value;
457
16.5M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
190k
    {
456
190k
        return m_value;
457
190k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
363k
    {
456
363k
        return m_value;
457
363k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
1.12M
    {
456
1.12M
        return m_value;
457
1.12M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
163k
    {
456
163k
        return m_value;
457
163k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
228k
    {
456
228k
        return m_value;
457
228k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
180k
    {
456
180k
        return m_value;
457
180k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
232k
    {
456
232k
        return m_value;
457
232k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
182k
    {
456
182k
        return m_value;
457
182k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
190k
    {
456
190k
        return m_value;
457
190k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
362k
    {
456
362k
        return m_value;
457
362k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
163k
    {
456
163k
        return m_value;
457
163k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
226k
    {
456
226k
        return m_value;
457
226k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
180k
    {
456
180k
        return m_value;
457
180k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
230k
    {
456
230k
        return m_value;
457
230k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
182k
    {
456
182k
        return m_value;
457
182k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.4k
    {
456
34.4k
        return m_value;
457
34.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.3k
    {
456
11.3k
        return m_value;
457
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.1k
    {
456
34.1k
        return m_value;
457
34.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.7k
    {
456
34.7k
        return m_value;
457
34.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.3k
    {
456
34.3k
        return m_value;
457
34.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
35.0k
    {
456
35.0k
        return m_value;
457
35.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.6k
    {
456
34.6k
        return m_value;
457
34.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.4k
    {
456
34.4k
        return m_value;
457
34.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
11.3k
    {
456
11.3k
        return m_value;
457
11.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.1k
    {
456
34.1k
        return m_value;
457
34.1k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.7k
    {
456
34.7k
        return m_value;
457
34.7k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.3k
    {
456
34.3k
        return m_value;
457
34.3k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
35.0k
    {
456
35.0k
        return m_value;
457
35.0k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
34.6k
    {
456
34.6k
        return m_value;
457
34.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
834k
    {
456
834k
        return m_value;
457
834k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
225k
    {
456
225k
        return m_value;
457
225k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
2.50M
    {
456
2.50M
        return m_value;
457
2.50M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
289k
    {
456
289k
        return m_value;
457
289k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
510k
    {
456
510k
        return m_value;
457
510k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
595k
    {
456
595k
        return m_value;
457
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
748k
    {
456
748k
        return m_value;
457
748k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
412k
    {
456
412k
        return m_value;
457
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
412k
    {
456
412k
        return m_value;
457
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
412k
    {
456
412k
        return m_value;
457
412k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
1.33M
    {
456
1.33M
        return m_value;
457
1.33M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
595k
    {
456
595k
        return m_value;
457
595k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
141k
    {
456
141k
        return m_value;
457
141k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
414k
    {
456
414k
        return m_value;
457
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
414k
    {
456
414k
        return m_value;
457
414k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
414k
    {
456
414k
        return m_value;
457
414k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
118k
    {
456
118k
        return m_value;
457
118k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
94.6k
    {
456
94.6k
        return m_value;
457
94.6k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
133k
    {
456
133k
        return m_value;
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
133k
    {
456
133k
        return m_value;
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
133k
    {
456
133k
        return m_value;
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
158k
    {
456
158k
        return m_value;
457
158k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
225k
    {
456
225k
        return m_value;
457
225k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
118k
    {
456
118k
        return m_value;
457
118k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_value() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() &
Line
Count
Source
455
91.9k
    {
456
91.9k
        return m_value;
457
91.9k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
133k
    {
456
133k
        return m_value;
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() &
Line
Count
Source
455
133k
    {
456
133k
        return m_value;
457
133k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_value() &
Line
Count
Source
455
133k
    {
456
133k
        return m_value;
457
133k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_value() &
458
    constexpr const T& get_value() const& noexcept
459
0
    {
460
0
        return m_value;
461
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_value() const &
462
    constexpr T&& get_value() && noexcept
463
0
    {
464
0
        return std::move(m_value);
465
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_value() &&
466
    constexpr const T&& get_value() const&& noexcept
467
    {
468
        return std::move(m_value);
469
    }
470
471
    constexpr unexpected<E>& get_unexpected() & noexcept
472
3.77M
    {
473
3.77M
        return m_unexpected;
474
3.77M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
86.6k
    {
473
86.6k
        return m_unexpected;
474
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
520k
    {
473
520k
        return m_unexpected;
474
520k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
86.6k
    {
473
86.6k
        return m_unexpected;
474
86.6k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
14.4k
    {
473
14.4k
        return m_unexpected;
474
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
173k
    {
473
173k
        return m_unexpected;
474
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
173k
    {
473
173k
        return m_unexpected;
474
173k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
28.8k
    {
473
28.8k
        return m_unexpected;
474
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
23.8k
    {
473
23.8k
        return m_unexpected;
474
23.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
20.7k
    {
473
20.7k
        return m_unexpected;
474
20.7k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
171k
    {
473
171k
        return m_unexpected;
474
171k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
329k
    {
473
329k
        return m_unexpected;
474
329k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
11.5k
    {
473
11.5k
        return m_unexpected;
474
11.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
9.70k
    {
473
9.70k
        return m_unexpected;
474
9.70k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
397k
    {
473
397k
        return m_unexpected;
474
397k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
142k
    {
473
142k
        return m_unexpected;
474
142k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
8.74k
    {
473
8.74k
        return m_unexpected;
474
8.74k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
359k
    {
473
359k
        return m_unexpected;
474
359k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
1.42k
    {
473
1.42k
        return m_unexpected;
474
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
247k
    {
473
247k
        return m_unexpected;
474
247k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
328k
    {
473
328k
        return m_unexpected;
474
328k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
472
20.7k
    {
473
20.7k
        return m_unexpected;
474
20.7k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::get_unexpected() &
Line
Count
Source
472
1.42k
    {
473
1.42k
        return m_unexpected;
474
1.42k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
472
142k
    {
473
142k
        return m_unexpected;
474
142k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::get_unexpected() &
475
    constexpr const unexpected<E>& get_unexpected() const& noexcept
476
0
    {
477
0
        return m_unexpected;
478
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::get_unexpected() const &
479
    constexpr unexpected<E>&& get_unexpected() && noexcept
480
520k
    {
481
520k
        return std::move(m_unexpected);
482
520k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
14.4k
    {
481
14.4k
        return std::move(m_unexpected);
482
14.4k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::get_unexpected() &&
Line
Count
Source
480
28.8k
    {
481
28.8k
        return std::move(m_unexpected);
482
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::get_unexpected() &&
483
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
484
    {
485
        return std::move(m_unexpected);
486
    }
487
488
    SCN_NODISCARD constexpr bool has_value() const noexcept
489
41.7M
    {
490
41.7M
        return m_has_value;
491
41.7M
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
900k
    {
490
900k
        return m_has_value;
491
900k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
292k
    {
490
292k
        return m_has_value;
491
292k
    }
scn::v4::detail::expected_storage_base<long, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
3.54M
    {
490
3.54M
        return m_has_value;
491
3.54M
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
256k
    {
490
256k
        return m_has_value;
491
256k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
342k
    {
490
342k
        return m_has_value;
491
342k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
278k
    {
490
278k
        return m_has_value;
491
278k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
348k
    {
490
348k
        return m_has_value;
491
348k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
281k
    {
490
281k
        return m_has_value;
491
281k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
898k
    {
490
898k
        return m_has_value;
491
898k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
292k
    {
490
292k
        return m_has_value;
491
292k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
256k
    {
490
256k
        return m_has_value;
491
256k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
340k
    {
490
340k
        return m_has_value;
491
340k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
278k
    {
490
278k
        return m_has_value;
491
278k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
346k
    {
490
346k
        return m_has_value;
491
346k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
281k
    {
490
281k
        return m_has_value;
491
281k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
369k
    {
490
369k
        return m_has_value;
491
369k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
122k
    {
490
122k
        return m_has_value;
491
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
122k
    {
490
122k
        return m_has_value;
491
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
123k
    {
490
123k
        return m_has_value;
491
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
122k
    {
490
122k
        return m_has_value;
491
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
123k
    {
490
123k
        return m_has_value;
491
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
123k
    {
490
123k
        return m_has_value;
491
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
369k
    {
490
369k
        return m_has_value;
491
369k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
122k
    {
490
122k
        return m_has_value;
491
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
122k
    {
490
122k
        return m_has_value;
491
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
123k
    {
490
123k
        return m_has_value;
491
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
122k
    {
490
122k
        return m_has_value;
491
122k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
123k
    {
490
123k
        return m_has_value;
491
123k
    }
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
123k
    {
490
123k
        return m_has_value;
491
123k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<wchar_t, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
2.14M
    {
490
2.14M
        return m_has_value;
491
2.14M
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
647k
    {
490
647k
        return m_has_value;
491
647k
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
5.35M
    {
490
5.35M
        return m_has_value;
491
5.35M
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.23M
    {
490
1.23M
        return m_has_value;
491
1.23M
    }
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
1.47M
    {
490
1.47M
        return m_has_value;
491
1.47M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.20M
    {
490
1.20M
        return m_has_value;
491
1.20M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
2.75M
    {
490
2.75M
        return m_has_value;
491
2.75M
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
825k
    {
490
825k
        return m_has_value;
491
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
825k
    {
490
825k
        return m_has_value;
491
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
825k
    {
490
825k
        return m_has_value;
491
825k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
2.96M
    {
490
2.96M
        return m_has_value;
491
2.96M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
1.20M
    {
490
1.20M
        return m_has_value;
491
1.20M
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<char const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
1.47M
    {
490
1.47M
        return m_has_value;
491
1.47M
    }
scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
828k
    {
490
828k
        return m_has_value;
491
828k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
828k
    {
490
828k
        return m_has_value;
491
828k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
828k
    {
490
828k
        return m_has_value;
491
828k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
239k
    {
490
239k
        return m_has_value;
491
239k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
849k
    {
490
849k
        return m_has_value;
491
849k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
266k
    {
490
266k
        return m_has_value;
491
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
266k
    {
490
266k
        return m_has_value;
491
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
266k
    {
490
266k
        return m_has_value;
491
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
972k
    {
490
972k
        return m_has_value;
491
972k
    }
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
647k
    {
490
647k
        return m_has_value;
491
647k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
239k
    {
490
239k
        return m_has_value;
491
239k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::has_value() const
scn::v4::detail::expected_storage_base<wchar_t const*, scn::v4::impl::parse_error, true>::has_value() const
Line
Count
Source
489
634k
    {
490
634k
        return m_has_value;
491
634k
    }
scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
266k
    {
490
266k
        return m_has_value;
491
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::has_value() const
Line
Count
Source
489
266k
    {
490
266k
        return m_has_value;
491
266k
    }
scn::v4::detail::expected_storage_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::has_value() const
Line
Count
Source
489
266k
    {
490
266k
        return m_has_value;
491
266k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::has_value() const
492
493
    template <typename... Args>
494
    void construct(Args&&... args) noexcept(
495
        std::is_nothrow_constructible_v<T, Args...>)
496
0
    {
497
0
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
498
0
        m_has_value = true;
499
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double> >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
500
    template <typename... Args>
501
    void construct_unexpected(Args&&... args) noexcept(
502
        std::is_nothrow_constructible_v<E, Args...>)
503
520k
    {
504
520k
        scn::detail::construct_at(&get_unexpected(),
505
520k
                                  std::forward<Args>(args)...);
506
520k
        m_has_value = false;
507
520k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
14.4k
    {
504
14.4k
        scn::detail::construct_at(&get_unexpected(),
505
14.4k
                                  std::forward<Args>(args)...);
506
14.4k
        m_has_value = false;
507
14.4k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Line
Count
Source
503
28.8k
    {
504
28.8k
        scn::detail::construct_at(&get_unexpected(),
505
28.8k
                                  std::forward<Args>(args)...);
506
28.8k
        m_has_value = false;
507
28.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
508
509
    // No-op, because T and E are trivially destructible
510
520k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
14.4k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_value()
Line
Count
Source
510
28.8k
    static constexpr void destroy_value() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_value()
511
0
    static constexpr void destroy_unexpected() noexcept {}
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::destroy_unexpected()
512
513
private:
514
    union {
515
        T m_value;
516
        unexpected<E> m_unexpected;
517
        char m_deferred_init;
518
    };
519
    bool m_has_value;
520
};
521
522
template <typename E>
523
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
524
#if SCN_STD >= SCN_STD_20
525
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
526
#else
527
    constexpr expected_storage_base() noexcept
528
4.54M
        : m_deferred_init(), m_has_value(true)
529
4.54M
    {
530
4.54M
    }
531
#endif
532
533
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
534
        : m_deferred_init(), m_has_value(false)
535
    {
536
    }
537
538
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
539
        : m_has_value(true)
540
    {
541
    }
542
543
    template <typename... Args,
544
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
545
    explicit constexpr expected_storage_base(
546
        unexpect_t,
547
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
548
777k
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
549
777k
          m_has_value(false)
550
777k
    {
551
777k
    }
552
553
    constexpr unexpected<E>& get_unexpected() & noexcept
554
578k
    {
555
578k
        return m_unexpected;
556
578k
    }
557
    constexpr const unexpected<E>& get_unexpected() const& noexcept
558
    {
559
        return m_unexpected;
560
    }
561
    constexpr unexpected<E>&& get_unexpected() && noexcept
562
    {
563
        return std::move(m_unexpected);
564
    }
565
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
566
    {
567
        return std::move(m_unexpected);
568
    }
569
570
    SCN_NODISCARD constexpr bool has_value() const noexcept
571
5.90M
    {
572
5.90M
        return m_has_value;
573
5.90M
    }
574
575
    template <typename... Args>
576
    void construct(Args&&...) noexcept
577
    {
578
        m_has_value = true;
579
    }
580
    template <typename... Args>
581
    void construct_unexpected(Args&&... args) noexcept(
582
        std::is_nothrow_constructible_v<E, Args...>)
583
    {
584
        scn::detail::construct_at(&get_unexpected(),
585
                                  std::forward<Args>(args)...);
586
        m_has_value = false;
587
    }
588
589
    static constexpr void destroy_value() noexcept {}
590
    static constexpr void destroy_unexpected() noexcept {}
591
592
private:
593
    union {
594
        unexpected<E> m_unexpected;
595
        char m_deferred_init;
596
    };
597
    bool m_has_value;
598
};
599
600
/**
601
 * Implementation of `std::max` without including `<algorithm>`
602
 */
603
template <typename T>
604
constexpr T max(T a, T b) noexcept
605
0
{
606
0
    return (a < b) ? b : a;
607
0
}
608
609
template <typename T, typename E>
610
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
611
0
    constexpr expected_storage_base() noexcept : m_has_value(true)
612
0
    {
613
0
        construct();
614
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base()
615
616
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
617
        : m_has_value(false)
618
    {
619
    }
620
621
    template <typename... Args,
622
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
623
    explicit constexpr expected_storage_base(
624
        std::in_place_t,
625
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
626
132k
        : m_has_value(true)
627
132k
    {
628
132k
        construct(std::forward<Args>(args)...);
629
132k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
626
57.4k
        : m_has_value(true)
627
57.4k
    {
628
57.4k
        construct(std::forward<Args>(args)...);
629
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
626
57.3k
        : m_has_value(true)
627
57.3k
    {
628
57.3k
        construct(std::forward<Args>(args)...);
629
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
626
8.80k
        : m_has_value(true)
627
8.80k
    {
628
8.80k
        construct(std::forward<Args>(args)...);
629
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
626
8.80k
        : m_has_value(true)
627
8.80k
    {
628
8.80k
        construct(std::forward<Args>(args)...);
629
8.80k
    }
630
631
    template <typename... Args,
632
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
633
    explicit constexpr expected_storage_base(
634
        unexpect_t,
635
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
636
30.5k
        : m_has_value(false)
637
30.5k
    {
638
30.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
30.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
3.25k
        : m_has_value(false)
637
3.25k
    {
638
3.25k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
3.49k
        : m_has_value(false)
637
3.49k
    {
638
3.49k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
11.8k
        : m_has_value(false)
637
11.8k
    {
638
11.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
636
11.8k
        : m_has_value(false)
637
11.8k
    {
638
11.8k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
639
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::expected_storage_base<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
640
641
    ~expected_storage_base()
642
162k
    {
643
162k
        if (has_value()) {
644
132k
            destroy_value();
645
132k
        }
646
30.5k
        else {
647
30.5k
            destroy_unexpected();
648
30.5k
        }
649
162k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
60.6k
    {
643
60.6k
        if (has_value()) {
644
57.4k
            destroy_value();
645
57.4k
        }
646
3.25k
        else {
647
3.25k
            destroy_unexpected();
648
3.25k
        }
649
60.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
60.8k
    {
643
60.8k
        if (has_value()) {
644
57.3k
            destroy_value();
645
57.3k
        }
646
3.49k
        else {
647
3.49k
            destroy_unexpected();
648
3.49k
        }
649
60.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
20.7k
    {
643
20.7k
        if (has_value()) {
644
8.80k
            destroy_value();
645
8.80k
        }
646
11.8k
        else {
647
11.8k
            destroy_unexpected();
648
11.8k
        }
649
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Line
Count
Source
642
20.7k
    {
643
20.7k
        if (has_value()) {
644
8.80k
            destroy_value();
645
8.80k
        }
646
11.8k
        else {
647
11.8k
            destroy_unexpected();
648
11.8k
        }
649
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::~expected_storage_base()
650
651
    constexpr T& get_value() & noexcept
652
132k
    {
653
132k
        return *value_ptr();
654
132k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
57.4k
    {
653
57.4k
        return *value_ptr();
654
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
57.3k
    {
653
57.3k
        return *value_ptr();
654
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
8.80k
    {
653
8.80k
        return *value_ptr();
654
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Line
Count
Source
652
8.80k
    {
653
8.80k
        return *value_ptr();
654
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &
655
    constexpr const T& get_value() const& noexcept
656
    {
657
        return *value_ptr();
658
    }
659
    constexpr T&& get_value() && noexcept
660
0
    {
661
0
        return std::move(*value_ptr());
662
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_value() &&
663
    constexpr const T&& get_value() const&& noexcept
664
    {
665
        return std::move(*value_ptr());
666
    }
667
668
    constexpr unexpected<E>& get_unexpected() & noexcept
669
30.5k
    {
670
30.5k
        return *unexpected_ptr();
671
30.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
3.25k
    {
670
3.25k
        return *unexpected_ptr();
671
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
3.49k
    {
670
3.49k
        return *unexpected_ptr();
671
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
11.8k
    {
670
11.8k
        return *unexpected_ptr();
671
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Line
Count
Source
669
11.8k
    {
670
11.8k
        return *unexpected_ptr();
671
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &
672
    constexpr const unexpected<E>& get_unexpected() const& noexcept
673
    {
674
        return *unexpected_ptr();
675
    }
676
    constexpr unexpected<E>&& get_unexpected() && noexcept
677
0
    {
678
0
        return std::move(*unexpected_ptr());
679
0
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::get_unexpected() &&
680
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
681
    {
682
        return std::move(*unexpected_ptr());
683
    }
684
685
    SCN_NODISCARD constexpr bool has_value() const noexcept
686
488k
    {
687
488k
        return m_has_value;
688
488k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
182k
    {
687
182k
        return m_has_value;
688
182k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
182k
    {
687
182k
        return m_has_value;
688
182k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
62.1k
    {
687
62.1k
        return m_has_value;
688
62.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Line
Count
Source
686
62.1k
    {
687
62.1k
        return m_has_value;
688
62.1k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::has_value() const
689
690
    template <typename... Args>
691
    void construct(Args&&... args) noexcept(
692
        std::is_nothrow_constructible_v<T, Args...>)
693
132k
    {
694
132k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
132k
        m_has_value = true;
696
132k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
693
57.4k
    {
694
57.4k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
57.4k
        m_has_value = true;
696
57.4k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
693
57.3k
    {
694
57.3k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
57.3k
        m_has_value = true;
696
57.3k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
693
8.80k
    {
694
8.80k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
8.80k
        m_has_value = true;
696
8.80k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
693
8.80k
    {
694
8.80k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
695
8.80k
        m_has_value = true;
696
8.80k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<>()
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
697
    template <typename... Args>
698
    void construct_unexpected(Args&&... args) noexcept(
699
        std::is_nothrow_constructible_v<E, Args...>)
700
30.5k
    {
701
30.5k
        scn::detail::construct_at(unexpected_ptr(),
702
30.5k
                                  std::forward<Args>(args)...);
703
30.5k
        m_has_value = false;
704
30.5k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
3.25k
    {
701
3.25k
        scn::detail::construct_at(unexpected_ptr(),
702
3.25k
                                  std::forward<Args>(args)...);
703
3.25k
        m_has_value = false;
704
3.25k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
3.49k
    {
701
3.49k
        scn::detail::construct_at(unexpected_ptr(),
702
3.49k
                                  std::forward<Args>(args)...);
703
3.49k
        m_has_value = false;
704
3.49k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
11.8k
    {
701
11.8k
        scn::detail::construct_at(unexpected_ptr(),
702
11.8k
                                  std::forward<Args>(args)...);
703
11.8k
        m_has_value = false;
704
11.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
void scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Line
Count
Source
700
11.8k
    {
701
11.8k
        scn::detail::construct_at(unexpected_ptr(),
702
11.8k
                                  std::forward<Args>(args)...);
703
11.8k
        m_has_value = false;
704
11.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v4::scan_error>(std::__1::in_place_t const&, scn::v4::scan_error&&)
Unexecuted instantiation: void scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::construct_unexpected<scn::v4::unexpected<scn::v4::scan_error> >(scn::v4::unexpected<scn::v4::scan_error>&&)
705
706
    void destroy_value() noexcept
707
132k
    {
708
132k
        scn::detail::destroy_at(value_ptr());
709
132k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
57.4k
    {
708
57.4k
        scn::detail::destroy_at(value_ptr());
709
57.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
57.3k
    {
708
57.3k
        scn::detail::destroy_at(value_ptr());
709
57.3k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
8.80k
    {
708
8.80k
        scn::detail::destroy_at(value_ptr());
709
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Line
Count
Source
707
8.80k
    {
708
8.80k
        scn::detail::destroy_at(value_ptr());
709
8.80k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_value()
710
    void destroy_unexpected() noexcept
711
30.5k
    {
712
30.5k
        scn::detail::destroy_at(unexpected_ptr());
713
30.5k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
3.25k
    {
712
3.25k
        scn::detail::destroy_at(unexpected_ptr());
713
3.25k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
3.49k
    {
712
3.49k
        scn::detail::destroy_at(unexpected_ptr());
713
3.49k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
11.8k
    {
712
11.8k
        scn::detail::destroy_at(unexpected_ptr());
713
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Line
Count
Source
711
11.8k
    {
712
11.8k
        scn::detail::destroy_at(unexpected_ptr());
713
11.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::destroy_unexpected()
714
715
private:
716
    T* value_ptr() noexcept
717
397k
    {
718
397k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
397k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
172k
    {
718
172k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
172k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
172k
    {
718
172k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
172k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
26.4k
    {
718
26.4k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
26.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Line
Count
Source
717
26.4k
    {
718
26.4k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
719
26.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::value_ptr()
720
    const T* value_ptr() const noexcept
721
    {
722
        return reinterpret_cast<const T*>(
723
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
724
    }
725
726
    SCN_GCC_PUSH
727
    SCN_GCC_IGNORE("-Wcast-align")
728
    unexpected<E>* unexpected_ptr() noexcept
729
91.6k
    {
730
91.6k
        return reinterpret_cast<unexpected<E>*>(
731
91.6k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
91.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
9.77k
    {
730
9.77k
        return reinterpret_cast<unexpected<E>*>(
731
9.77k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
9.77k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
10.4k
    {
730
10.4k
        return reinterpret_cast<unexpected<E>*>(
731
10.4k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
10.4k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
35.6k
    {
730
35.6k
        return reinterpret_cast<unexpected<E>*>(
731
35.6k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
35.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
scn::v4::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Line
Count
Source
729
35.6k
    {
730
35.6k
        return reinterpret_cast<unexpected<E>*>(
731
35.6k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
732
35.6k
    }
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
Unexecuted instantiation: scn::v4::detail::expected_storage_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, false>::unexpected_ptr()
733
    const unexpected<E>* unexpected_ptr() const noexcept
734
    {
735
        return reinterpret_cast<const unexpected<E>*>(
736
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
737
    }
738
    SCN_GCC_POP
739
740
    static constexpr std::size_t required_size =
741
        detail::max(sizeof(T), sizeof(unexpected<E>));
742
    static constexpr std::size_t required_alignment =
743
        detail::max(alignof(T), alignof(unexpected<E>));
744
745
    alignas(required_alignment) unsigned char m_memory[required_size];
746
    bool m_has_value;
747
};
748
749
template <typename E>
750
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
751
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
752
753
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
754
        : m_has_value(false)
755
    {
756
    }
757
758
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
759
        : m_has_value(true)
760
    {
761
    }
762
763
    template <typename... Args,
764
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
765
    explicit constexpr expected_storage_base(
766
        unexpect_t,
767
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
768
        : m_has_value(false)
769
    {
770
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
771
    }
772
773
    ~expected_storage_base()
774
    {
775
        if (!has_value()) {
776
            destroy_unexpected();
777
        }
778
    }
779
780
    constexpr unexpected<E>& get_unexpected() & noexcept
781
    {
782
        return *unexpected_ptr();
783
    }
784
    constexpr const unexpected<E>& get_unexpected() const& noexcept
785
    {
786
        return *unexpected_ptr();
787
    }
788
    constexpr unexpected<E>&& get_unexpected() && noexcept
789
    {
790
        return std::move(*unexpected_ptr());
791
    }
792
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
793
    {
794
        return std::move(*unexpected_ptr());
795
    }
796
797
    SCN_NODISCARD constexpr bool has_value() const noexcept
798
    {
799
        return m_has_value;
800
    }
801
802
    template <typename... Args>
803
    constexpr void construct(Args&&...) noexcept
804
    {
805
        m_has_value = true;
806
    }
807
    template <typename... Args>
808
    void construct_unexpected(Args&&... args) noexcept(
809
        std::is_nothrow_constructible_v<E, Args...>)
810
    {
811
        scn::detail::construct_at(unexpected_ptr(),
812
                                  std::forward<Args>(args)...);
813
        m_has_value = false;
814
    }
815
816
    static constexpr void destroy_value() noexcept {}
817
    void destroy_unexpected() noexcept
818
    {
819
        scn::detail::destroy_at(unexpected_ptr());
820
    }
821
822
private:
823
    SCN_GCC_PUSH
824
    SCN_GCC_IGNORE("-Wcast-align")
825
    unexpected<E>* unexpected_ptr()
826
    {
827
        return reinterpret_cast<unexpected<E>*>(m_memory);
828
    }
829
    const unexpected<E>* unexpected_ptr() const
830
    {
831
        return reinterpret_cast<const unexpected<E>*>(m_memory);
832
    }
833
    SCN_GCC_POP
834
835
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
836
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
837
838
    alignas(required_alignment) unsigned char m_memory[required_size];
839
    bool m_has_value;
840
};
841
842
template <typename T, typename U>
843
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
844
845
template <typename T, typename E, typename Enable = void>
846
struct expected_operations_base;
847
848
template <typename T, typename E>
849
struct SCN_TRIVIAL_ABI expected_operations_base<
850
    T,
851
    E,
852
    std::enable_if_t<(std::is_void_v<T> || std::is_trivially_copyable_v<T>) &&
853
                     std::is_trivially_copyable_v<E>>>
854
    : expected_storage_base<T, E> {
855
    using expected_storage_base<T, E>::expected_storage_base;
856
};
857
858
template <typename T, typename E>
859
struct SCN_TRIVIAL_ABI expected_operations_base<
860
    T,
861
    E,
862
    std::enable_if_t<!std::is_void_v<T> && (!std::is_trivially_copyable_v<T> ||
863
                                            !std::is_trivially_copyable_v<E>)>>
864
    : expected_storage_base<T, E> {
865
    using expected_storage_base<T, E>::expected_storage_base;
866
867
    expected_operations_base(const expected_operations_base& other) noexcept(
868
        std::is_nothrow_copy_constructible_v<T> &&
869
        std::is_nothrow_copy_constructible_v<E>)
870
        : expected_storage_base<T, E>(deferred_init_tag)
871
    {
872
        construct_common(other);
873
    }
874
    expected_operations_base(expected_operations_base&& other) noexcept(
875
        std::is_nothrow_move_constructible_v<T> &&
876
        std::is_nothrow_move_constructible_v<E>)
877
        : expected_storage_base<T, E>(deferred_init_tag)
878
    {
879
        construct_common(std::move(other));
880
    }
881
882
    expected_operations_base& operator=(const expected_operations_base& other)
883
    // gcc 11 and lower evaluate noexcept in a weird context
884
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
885
        noexcept(noexcept(
886
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
887
#else
888
        noexcept(noexcept(assign_common(other)))
889
#endif
890
    {
891
        assign_common(other);
892
        return *this;
893
    }
894
    expected_operations_base& operator=(expected_operations_base&& other)
895
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
896
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
897
                              .assign_common(std::move(other))))
898
#else
899
        noexcept(noexcept(assign_common(std::move(other))))
900
#endif
901
520k
    {
902
520k
        assign_common(std::move(other));
903
520k
        return *this;
904
520k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
14.4k
    {
902
14.4k
        assign_common(std::move(other));
903
14.4k
        return *this;
904
14.4k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
901
28.8k
    {
902
28.8k
        assign_common(std::move(other));
903
28.8k
        return *this;
904
28.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::operator=(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
905
906
    ~expected_operations_base() = default;
907
908
private:
909
    template <typename Other>
910
    void construct_common(Other&& other) noexcept(
911
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
912
                     .construct(std::forward<Other>(other).get_value())) &&
913
        noexcept(SCN_DECLVAL(expected_storage_base<T, E>)
914
                     .construct_unexpected(
915
                         std::forward<Other>(other).get_unexpected())))
916
0
    {
917
0
        if (other.has_value()) {
918
0
            this->construct(std::forward<Other>(other).get_value());
919
0
        }
920
0
        else {
921
0
            this->construct_unexpected(
922
0
                std::forward<Other>(other).get_unexpected());
923
0
        }
924
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::construct_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
925
926
    template <typename Other>
927
    void assign_common(Other&& other)
928
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
929
        noexcept(
930
            noexcept(SCN_DECLVAL(expected_operations_base&)
931
                         .reassign_value(std::forward<Other>(other))) &&
932
            noexcept(SCN_DECLVAL(expected_operations_base&)
933
                         .reassign_unexpected(std::forward<Other>(other))) &&
934
            noexcept(SCN_DECLVAL(expected_operations_base&)
935
                         .assign_value_over_unexpected(
936
                             std::forward<Other>(other))) &&
937
            noexcept(
938
                SCN_DECLVAL(expected_operations_base&)
939
                    .assign_unexpected_over_value(std::forward<Other>(other))))
940
#else
941
        noexcept(
942
            noexcept(reassign_value(std::forward<Other>(other))) &&
943
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
944
            noexcept(
945
                assign_value_over_unexpected(std::forward<Other>(other))) &&
946
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
947
#endif
948
520k
    {
949
520k
        if (this->has_value()) {
950
520k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
520k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
520k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
14.4k
    {
949
14.4k
        if (this->has_value()) {
950
14.4k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
14.4k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
14.4k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
948
28.8k
    {
949
28.8k
        if (this->has_value()) {
950
28.8k
            if (other.has_value()) {
951
0
                return reassign_value(std::forward<Other>(other));
952
0
            }
953
28.8k
            return assign_unexpected_over_value(std::forward<Other>(other));
954
28.8k
        }
955
956
0
        if (other.has_value()) {
957
0
            return assign_value_over_unexpected(std::forward<Other>(other));
958
0
        }
959
0
        return reassign_unexpected(std::forward<Other>(other));
960
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_common<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
961
962
    template <typename Other>
963
    void reassign_value(Other&& other) noexcept(
964
        std::is_nothrow_assignable_v<
965
            T,
966
            decltype(std::forward<Other>(other).get_value())>)
967
0
    {
968
0
        this->get_value() = std::forward<Other>(other).get_value();
969
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
970
971
    template <typename Other>
972
    void reassign_unexpected(Other&& other) noexcept(
973
        std::is_nothrow_assignable_v<
974
            E,
975
            decltype(std::forward<Other>(other).get_unexpected())>)
976
0
    {
977
0
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
978
0
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::reassign_unexpected<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
979
980
#if SCN_HAS_EXCEPTIONS
981
    void assign_value_over_unexpected(
982
        const expected_operations_base&
983
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
984
                            std::is_nothrow_move_constructible_v<T>)
985
    {
986
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
987
            this->destroy_unexpected();
988
            this->construct(other.get_value());
989
        }
990
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
991
            T tmp = other.get_value();
992
            this->destroy_unexpected();
993
            this->construct(std::move(tmp));
994
        }
995
        else {
996
            auto tmp = std::move(this->get_unexpecetd());
997
            this->destroy_unexpected();
998
999
            try {
1000
                this->construct(other.get());
1001
            }
1002
            catch (...) {
1003
                this->construct_unexpected(std::move(tmp));
1004
                throw;
1005
            }
1006
        }
1007
    }
1008
1009
    void
1010
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
1011
        std::is_nothrow_move_constructible_v<T>)
1012
0
    {
1013
0
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
1014
0
            this->destroy_unexpected();
1015
0
            this->construct(std::move(other).get_value());
1016
        }
1017
        else {
1018
            auto tmp = std::move(this->get_unexpected());
1019
            this->destroy_unexpected();
1020
1021
            try {
1022
                this->construct(std::move(other).get_value());
1023
            }
1024
            catch (...) {
1025
                this->construct_unexpected(std::move(tmp));
1026
                throw;
1027
            }
1028
        }
1029
0
    }
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_value_over_unexpected(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1030
#else
1031
    template <typename Other>
1032
    void assing_value_over_unexpected(Other&& other) noexcept
1033
    {
1034
        this->destroy_unexpected();
1035
        this->construct_value(std::forward<Other>(other).get_value());
1036
    }
1037
#endif
1038
1039
    template <typename Other>
1040
    void assign_unexpected_over_value(Other&& other) noexcept(
1041
        std::is_nothrow_constructible_v<
1042
            E,
1043
            decltype(std::forward<Other>(other).get_unexpected())>)
1044
520k
    {
1045
520k
        this->destroy_value();
1046
520k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
520k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
14.4k
    {
1045
14.4k
        this->destroy_value();
1046
14.4k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
14.4k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, void>&&)
Line
Count
Source
1044
28.8k
    {
1045
28.8k
        this->destroy_value();
1046
28.8k
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1047
28.8k
    }
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
Unexecuted instantiation: void scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>::assign_unexpected_over_value<scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void> >(scn::v4::detail::expected_operations_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, void>&&)
1048
};
1049
1050
template <typename E>
1051
struct SCN_TRIVIAL_ABI
1052
    expected_operations_base<void,
1053
                             E,
1054
                             std::enable_if_t<!std::is_trivially_copyable_v<E>>>
1055
    : expected_storage_base<void, E> {
1056
    using expected_storage_base<void, E>::expected_storage_base;
1057
1058
    expected_operations_base(const expected_operations_base& other) noexcept(
1059
        std::is_nothrow_copy_constructible_v<E>)
1060
        : expected_storage_base<void, E>(deferred_init_tag)
1061
    {
1062
        construct_common(other);
1063
    }
1064
    expected_operations_base(expected_operations_base&& other) noexcept(
1065
        std::is_nothrow_move_constructible_v<E>)
1066
        : expected_storage_base<void, E>(deferred_init_tag)
1067
    {
1068
        construct_common(std::move(other));
1069
    }
1070
1071
    expected_operations_base& operator=(const expected_operations_base& other)
1072
    // gcc 11 and lower evaluate noexcept in a weird context
1073
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1074
        noexcept(noexcept(
1075
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
1076
#else
1077
        noexcept(noexcept(assign_common(other)))
1078
#endif
1079
    {
1080
        assign_common(other);
1081
        return *this;
1082
    }
1083
    expected_operations_base& operator=(expected_operations_base&& other)
1084
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1085
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
1086
                              .assign_common(std::move(other))))
1087
#else
1088
        noexcept(noexcept(assign_common(std::move(other))))
1089
#endif
1090
    {
1091
        assign_common(std::move(other));
1092
        return *this;
1093
    }
1094
1095
    ~expected_operations_base() = default;
1096
1097
private:
1098
    template <typename Other>
1099
    void construct_common(Other&& other) noexcept(
1100
        noexcept(expected_storage_base<void, E>::construct_unexpected(
1101
            std::forward<Other>(other).get_unexpected())))
1102
    {
1103
        if (other.has_value()) {
1104
            this->construct();
1105
        }
1106
        else {
1107
            this->construct_unexpected(
1108
                std::forward<Other>(other).get_unexpected());
1109
        }
1110
    }
1111
1112
    template <typename Other>
1113
    void assign_common(Other&& other)
1114
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
1115
        noexcept(
1116
            noexcept(SCN_DECLVAL(expected_operations_base&)
1117
                         .reassign_unexpected(std::forward<Other>(other))) &&
1118
            noexcept(
1119
                SCN_DECLVAL(expected_operations_base&)
1120
                    .assign_unexpected_over_value(std::forward<Other>(other))))
1121
#else
1122
        noexcept(
1123
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
1124
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
1125
#endif
1126
    {
1127
        if (this->has_value()) {
1128
            if (other.has_value()) {
1129
                return reassign_value();
1130
            }
1131
            return assign_unexpected_over_value(std::forward<Other>(other));
1132
        }
1133
1134
        if (other.has_value()) {
1135
            return assign_value_over_unexpected();
1136
        }
1137
        return reassign_unexpected(std::forward<Other>(other));
1138
    }
1139
1140
    void reassign_value() noexcept {}
1141
1142
    template <typename Other>
1143
    void reassign_unexpected(Other&& other) noexcept(
1144
        std::is_nothrow_assignable_v<
1145
            E,
1146
            decltype(std::forward<Other>(other).get_unexpected())>)
1147
    {
1148
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
1149
    }
1150
1151
    void assign_value_over_unexpected() noexcept
1152
    {
1153
        this->destroy_unexpected();
1154
        this->construct();
1155
    }
1156
1157
    template <typename Other>
1158
    void assign_unexpected_over_value(Other&& other) noexcept(
1159
        std::is_nothrow_constructible_v<
1160
            E,
1161
            decltype(std::forward<Other>(other).get_unexpected())>)
1162
    {
1163
        this->destroy_value();
1164
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1165
    }
1166
};
1167
1168
/*
1169
 * Base class trickery to conditionally mark copy and move
1170
 * constructors of an expected as =deleted.
1171
 *
1172
 * We need to do this, because otherwise utilities like
1173
 * std::is_copy_constructible wouldn't work for expected: the
1174
 * constructors need to be explicitly =deleted, not just cause a
1175
 * compiler error when trying to copy a value of a non-copyable
1176
 * type.
1177
 *
1178
 * Rationale for doing this with base classes is above.
1179
 */
1180
template <
1181
    typename T,
1182
    typename E,
1183
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1184
                       std::is_copy_constructible_v<E>),
1185
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1186
                       std::is_move_constructible_v<E>)>
1187
struct expected_delete_ctor_base;
1188
1189
// Implementation for types that are both copy and move
1190
// constructible: Copy and move constructors are =defaulted
1191
template <typename T, typename E>
1192
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1193
    expected_delete_ctor_base() = default;
1194
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1195
        default;
1196
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1197
    ~expected_delete_ctor_base() = default;
1198
1199
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1200
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1201
};
1202
1203
// Implementation for types that are neither copy nor move
1204
// constructible: Copy and move constructors are =deleted
1205
template <typename T, typename E>
1206
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1207
    expected_delete_ctor_base() = default;
1208
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1209
        default;
1210
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1211
    ~expected_delete_ctor_base() = default;
1212
1213
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1214
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1215
};
1216
1217
// Implementation for types that are move constructible, but not
1218
// copy constructible Copy constructor is =deleted, but move
1219
// constructor is =defaulted
1220
template <typename T, typename E>
1221
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1222
    expected_delete_ctor_base() = default;
1223
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1224
        default;
1225
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1226
    ~expected_delete_ctor_base() = default;
1227
1228
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1229
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1230
};
1231
1232
template <typename T, typename E>
1233
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1234
    static_assert(dependent_false<T>::value,
1235
                  "Nonsensical type: copy constructible, but not move "
1236
                  "constructible");
1237
};
1238
1239
// Same as above, but for assignment
1240
template <
1241
    typename T,
1242
    typename E,
1243
    bool EnableCopy = ((std::is_copy_constructible_v<T> || std::is_void_v<T>) &&
1244
                       std::is_copy_constructible_v<E> &&
1245
                       (std::is_copy_assignable_v<T> || std::is_void_v<T>) &&
1246
                       std::is_copy_assignable_v<E>),
1247
    bool EnableMove = ((std::is_move_constructible_v<T> || std::is_void_v<T>) &&
1248
                       std::is_move_constructible_v<E> &&
1249
                       (std::is_move_assignable_v<T> || std::is_void_v<T>) &&
1250
                       std::is_move_assignable_v<E>)>
1251
struct expected_delete_assign_base;
1252
1253
template <typename T, typename E>
1254
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1255
    expected_delete_assign_base() = default;
1256
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1257
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1258
    ~expected_delete_assign_base() = default;
1259
1260
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1261
        default;
1262
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1263
        default;
1264
};
1265
1266
template <typename T, typename E>
1267
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1268
    expected_delete_assign_base() = default;
1269
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1270
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1271
    ~expected_delete_assign_base() = default;
1272
1273
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1274
        delete;
1275
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1276
        delete;
1277
};
1278
1279
template <typename T, typename E>
1280
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1281
    expected_delete_assign_base() = default;
1282
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1283
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1284
    ~expected_delete_assign_base() = default;
1285
1286
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1287
        delete;
1288
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1289
        default;
1290
};
1291
1292
template <typename T, typename E>
1293
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1294
    static_assert(dependent_false<T>::value,
1295
                  "Nonsensical type: copy assignable, but not move "
1296
                  "assignable");
1297
};
1298
1299
struct non_default_ctor_tag_t {};
1300
1301
/*
1302
 * Same as above, but for the default constructor
1303
 *
1304
 * The constructor taking a non_default_ctor_tag_t is needed, to
1305
 * signal that we're not default constructing.
1306
 */
1307
template <typename T,
1308
          typename E,
1309
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1310
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1311
    constexpr expected_default_ctor_base() = default;
1312
    constexpr explicit expected_default_ctor_base(
1313
        non_default_ctor_tag_t) noexcept
1314
20.5M
    {
1315
20.5M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
450k
    {
1315
450k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
449k
    {
1315
449k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
14.4k
    {
1315
14.4k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
184k
    {
1315
184k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
184k
    {
1315
184k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
28.8k
    {
1315
28.8k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
1.48M
    {
1315
1.48M
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
486k
    {
1315
486k
    }
scn::v4::detail::expected_default_ctor_base<long, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
1.26M
    {
1315
1.26M
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
2.67M
    {
1315
2.67M
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
618k
    {
1315
618k
    }
scn::v4::detail::expected_default_ctor_base<void, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
777k
    {
1315
777k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
1.28M
    {
1315
1.28M
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
604k
    {
1315
604k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
1.61M
    {
1315
1.61M
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
412k
    {
1315
412k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
412k
    {
1315
412k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
412k
    {
1315
412k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
60.6k
    {
1315
60.6k
    }
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
947k
    {
1315
947k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
604k
    {
1315
604k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<char const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
968k
    {
1315
968k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
414k
    {
1315
414k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
414k
    {
1315
414k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
414k
    {
1315
414k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
60.8k
    {
1315
60.8k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
402k
    {
1315
402k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
119k
    {
1315
119k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
508k
    {
1315
508k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
133k
    {
1315
133k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
133k
    {
1315
133k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
133k
    {
1315
133k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
20.7k
    {
1315
20.7k
    }
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
402k
    {
1315
402k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
119k
    {
1315
119k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
scn::v4::detail::expected_default_ctor_base<wchar_t const*, scn::v4::impl::parse_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
400k
    {
1315
400k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
133k
    {
1315
133k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
133k
    {
1315
133k
    }
scn::v4::detail::expected_default_ctor_base<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
133k
    {
1315
133k
    }
scn::v4::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Line
Count
Source
1314
20.7k
    {
1315
20.7k
    }
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<wchar_t, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v4::detail::expected_default_ctor_base<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error, true>::expected_default_ctor_base(scn::v4::detail::non_default_ctor_tag_t)
1316
};
1317
template <typename T, typename E>
1318
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1319
    constexpr expected_default_ctor_base() = delete;
1320
    constexpr explicit expected_default_ctor_base(
1321
        non_default_ctor_tag_t) noexcept
1322
    {
1323
    }
1324
};
1325
1326
template <typename T>
1327
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1328
1329
template <typename T>
1330
struct is_expected_impl : std::false_type {};
1331
template <typename T, typename E>
1332
struct is_expected_impl<expected<T, E>> : std::true_type {};
1333
template <typename T>
1334
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1335
1336
template <typename Exp>
1337
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1338
1339
template <typename Exp>
1340
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1341
1342
template <
1343
    typename F,
1344
    typename... Args,
1345
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1346
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1347
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1348
208k
{
1349
208k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1350
208k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1348
26.7k
{
1349
26.7k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1350
26.7k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&&)
Line
Count
Source
1348
49.1k
{
1349
49.1k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1350
49.1k
}
decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&&)
Line
Count
Source
1348
133k
{
1349
133k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1350
133k
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::scan_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&, void>(scn::v4::impl::parse_error (&)(scn::v4::impl::eof_error), scn::v4::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v4::detail::trivial_invoke<scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}, scn::v4::impl::parse_error const&, void>(scn::v4::impl::map_parse_error_to_scan_error(scn::v4::scan_error::code, char const*)::{lambda(scn::v4::impl::parse_error)#1}&&, scn::v4::impl::parse_error const&)
1351
1352
// and_then
1353
1354
template <typename Exp,
1355
          typename F,
1356
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1357
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1358
                                                 *SCN_DECLVAL(Exp)))>
1359
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1360
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1361
    std::is_nothrow_constructible_v<Ret,
1362
                                    unexpect_t,
1363
                                    decltype(std::forward<Exp>(exp).error())>)
1364
{
1365
    static_assert(is_expected<Ret>::value, "F must return an expected");
1366
1367
    return SCN_LIKELY(exp.has_value())
1368
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1369
               : Ret(unexpect, std::forward<Exp>(exp).error());
1370
}
1371
template <typename Exp,
1372
          typename F,
1373
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1374
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1375
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1376
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1377
    std::is_nothrow_constructible_v<Ret,
1378
                                    unexpect_t,
1379
                                    decltype(std::forward<Exp>(exp).error())>)
1380
{
1381
    static_assert(is_expected<Ret>::value, "F must return an expected");
1382
1383
    return SCN_LIKELY(exp.has_value())
1384
               ? trivial_invoke(std::forward<F>(f))
1385
               : Ret(unexpect, std::forward<Exp>(exp).error());
1386
}
1387
1388
// or_else
1389
1390
template <typename Exp,
1391
          typename F,
1392
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1393
                                                 SCN_DECLVAL(Exp).error()))>
1394
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1395
    noexcept(trivial_invoke(std::forward<F>(f),
1396
                            std::forward<Exp>(exp).error())) &&
1397
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1398
{
1399
    static_assert(is_expected<Ret>::value, "F must return an expected");
1400
1401
    return SCN_LIKELY(exp.has_value())
1402
               ? Ret(std::forward<Exp>(exp))
1403
               : trivial_invoke(std::forward<F>(f),
1404
                                std::forward<Exp>(exp).error());
1405
}
1406
1407
// transform
1408
1409
template <typename Exp,
1410
          typename F,
1411
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1412
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1413
                                                 *SCN_DECLVAL(Exp)))>
1414
constexpr auto transform_impl(Exp&& exp, F&& f)
1415
{
1416
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1417
    if constexpr (std::is_void_v<Ret>) {
1418
        if (SCN_LIKELY(exp.has_value())) {
1419
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1420
            return result();
1421
        }
1422
        return result(unexpect, std::forward<Exp>(exp).error());
1423
    }
1424
    else {
1425
        return SCN_LIKELY(exp.has_value())
1426
                   ? result(trivial_invoke(std::forward<F>(f),
1427
                                           *std::forward<Exp>(exp)))
1428
                   : result(unexpect, std::forward<Exp>(exp).error());
1429
    }
1430
}
1431
template <typename Exp,
1432
          typename F,
1433
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1434
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1435
constexpr auto transform_impl(Exp&& exp, F&& f)
1436
{
1437
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1438
    if constexpr (std::is_void_v<Ret>) {
1439
        if (SCN_LIKELY(exp.has_value())) {
1440
            trivial_invoke(std::forward<F>(f));
1441
            return result();
1442
        }
1443
        return result(unexpect, std::forward<Exp>(exp).error());
1444
    }
1445
    else {
1446
        return SCN_LIKELY(exp.has_value())
1447
                   ? result(trivial_invoke(std::forward<F>(f)))
1448
                   : result(unexpect, std::forward<Exp>(exp).error());
1449
    }
1450
}
1451
1452
// transform_error
1453
1454
template <typename Exp,
1455
          typename F,
1456
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1457
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1458
                                                 SCN_DECLVAL(Exp).error()))>
1459
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1460
3.16M
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
3.16M
    else {
1471
3.16M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
3.16M
        return SCN_LIKELY(exp.has_value())
1473
3.16M
                   ? result(*std::forward<Exp>(exp))
1474
3.16M
                   : result(unexpect,
1475
208k
                            trivial_invoke(std::forward<F>(f),
1476
208k
                                           std::forward<Exp>(exp).error()));
1477
3.16M
    }
1478
3.16M
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1460
424k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
424k
    else {
1471
424k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
424k
        return SCN_LIKELY(exp.has_value())
1473
424k
                   ? result(*std::forward<Exp>(exp))
1474
424k
                   : result(unexpect,
1475
12.0k
                            trivial_invoke(std::forward<F>(f),
1476
12.0k
                                           std::forward<Exp>(exp).error()));
1477
424k
    }
1478
424k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1460
135k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
135k
    else {
1471
135k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
135k
        return SCN_LIKELY(exp.has_value())
1473
135k
                   ? result(*std::forward<Exp>(exp))
1474
135k
                   : result(unexpect,
1475
1.76k
                            trivial_invoke(std::forward<F>(f),
1476
1.76k
                                           std::forward<Exp>(exp).error()));
1477
135k
    }
1478
135k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1460
425k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
425k
    else {
1471
425k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
425k
        return SCN_LIKELY(exp.has_value())
1473
425k
                   ? result(*std::forward<Exp>(exp))
1474
425k
                   : result(unexpect,
1475
11.1k
                            trivial_invoke(std::forward<F>(f),
1476
11.1k
                                           std::forward<Exp>(exp).error()));
1477
425k
    }
1478
425k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1460
336k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
336k
    else {
1471
336k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
336k
        return SCN_LIKELY(exp.has_value())
1473
336k
                   ? result(*std::forward<Exp>(exp))
1474
336k
                   : result(unexpect,
1475
11.4k
                            trivial_invoke(std::forward<F>(f),
1476
11.4k
                                           std::forward<Exp>(exp).error()));
1477
336k
    }
1478
336k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1460
412k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
412k
    else {
1471
412k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
412k
        return SCN_LIKELY(exp.has_value())
1473
412k
                   ? result(*std::forward<Exp>(exp))
1474
412k
                   : result(unexpect,
1475
0
                            trivial_invoke(std::forward<F>(f),
1476
0
                                           std::forward<Exp>(exp).error()));
1477
412k
    }
1478
412k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1460
309k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
309k
    else {
1471
309k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
309k
        return SCN_LIKELY(exp.has_value())
1473
309k
                   ? result(*std::forward<Exp>(exp))
1474
309k
                   : result(unexpect,
1475
28.2k
                            trivial_invoke(std::forward<F>(f),
1476
28.2k
                                           std::forward<Exp>(exp).error()));
1477
309k
    }
1478
309k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1460
414k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
414k
    else {
1471
414k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
414k
        return SCN_LIKELY(exp.has_value())
1473
414k
                   ? result(*std::forward<Exp>(exp))
1474
414k
                   : result(unexpect,
1475
0
                            trivial_invoke(std::forward<F>(f),
1476
0
                                           std::forward<Exp>(exp).error()));
1477
414k
    }
1478
414k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSM_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Line
Count
Source
1460
100k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
100k
    else {
1471
100k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
100k
        return SCN_LIKELY(exp.has_value())
1473
100k
                   ? result(*std::forward<Exp>(exp))
1474
100k
                   : result(unexpect,
1475
18.8k
                            trivial_invoke(std::forward<F>(f),
1476
18.8k
                                           std::forward<Exp>(exp).error()));
1477
100k
    }
1478
100k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Line
Count
Source
1460
133k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
133k
    else {
1471
133k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
133k
        return SCN_LIKELY(exp.has_value())
1473
133k
                   ? result(*std::forward<Exp>(exp))
1474
133k
                   : result(unexpect,
1475
0
                            trivial_invoke(std::forward<F>(f),
1476
0
                                           std::forward<Exp>(exp).error()));
1477
133k
    }
1478
133k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Line
Count
Source
1460
107k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
107k
    else {
1471
107k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
107k
        return SCN_LIKELY(exp.has_value())
1473
107k
                   ? result(*std::forward<Exp>(exp))
1474
107k
                   : result(unexpect,
1475
104k
                            trivial_invoke(std::forward<F>(f),
1476
104k
                                           std::forward<Exp>(exp).error()));
1477
107k
    }
1478
107k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSQ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1460
135k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
135k
    else {
1471
135k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
135k
        return SCN_LIKELY(exp.has_value())
1473
135k
                   ? result(*std::forward<Exp>(exp))
1474
135k
                   : result(unexpect,
1475
1.76k
                            trivial_invoke(std::forward<F>(f),
1476
1.76k
                                           std::forward<Exp>(exp).error()));
1477
135k
    }
1478
135k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
_ZN3scn2v46detail20transform_error_implINS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Line
Count
Source
1460
100k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
100k
    else {
1471
100k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
100k
        return SCN_LIKELY(exp.has_value())
1473
100k
                   ? result(*std::forward<Exp>(exp))
1474
100k
                   : result(unexpect,
1475
18.8k
                            trivial_invoke(std::forward<F>(f),
1476
18.8k
                                           std::forward<Exp>(exp).error()));
1477
100k
    }
1478
100k
}
_ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Line
Count
Source
1460
133k
{
1461
    if constexpr (std::is_void_v<Ret>) {
1462
        using result = expected<expected_value_type<Exp>, monostate>;
1463
        if (SCN_LIKELY(exp.has_value())) {
1464
            return result(*std::forward<Exp>(exp));
1465
        }
1466
1467
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1468
        return result(unexpect, monostate{});
1469
    }
1470
133k
    else {
1471
133k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1472
133k
        return SCN_LIKELY(exp.has_value())
1473
133k
                   ? result(*std::forward<Exp>(exp))
1474
133k
                   : result(unexpect,
1475
0
                            trivial_invoke(std::forward<F>(f),
1476
0
                                           std::forward<Exp>(exp).error()));
1477
133k
    }
1478
133k
}
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ES9_EEDaOSE_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implINS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESM_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS0_10scan_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIcE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINSt3__117basic_string_viewIcNSB_11char_traitsIcEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES8_EUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeES5_EUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESQ_EEDaOSV_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_INS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESM_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESP_EEDaOSU_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS0_10scan_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESJ_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS4_9eof_errorEEERFNS0_10scan_errorESF_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSN_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9eof_errorEEERFNS4_11parse_errorESD_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSD_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS1_17basic_scan_bufferIwE16forward_iteratorEEENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEERFNS7_11parse_errorES8_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEEZNS7_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINSt3__117basic_string_viewIwNSB_11char_traitsIwEEEEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSB_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSR_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS0_10scan_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS0_10scan_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultINS4_27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EEEENS4_9eof_errorEEERFNS0_10scan_errorESC_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9eof_errorEEERFNS4_11parse_errorESA_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_11parse_errorEEEZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSA_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESD_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS4_9eof_errorEEERFNS0_10scan_errorES9_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESC_EEDaOSH_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKwNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESL_EEDaOSP_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS1_17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESH_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESK_EEDaOSO_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESG_EEDaOSK_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS1_17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS9_9eof_errorEEERFNS0_10scan_errorESC_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESI_EEDaOSM_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS6_9sign_typeEEENS6_9eof_errorEEERFNS0_10scan_errorESE_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESH_EEDaOSL_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESF_EEDaOSJ_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS8_9eof_errorEEERFNS0_10scan_errorESB_ETnPNS4_9enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESE_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKwNS0_4impl11parse_errorEEEZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_TnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSI_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESB_EEDaOSG_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedIPKcNS0_4impl9eof_errorEEERFNS6_11parse_errorES7_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESA_EEDaOSF_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKcS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRKNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESO_EEDaOST_OT0_
Unexecuted instantiation: _ZN3scn2v46detail20transform_error_implIRNS0_8expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS6_IPKwS8_EENS4_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS8_S8_EEE8sentinelILb1EEEEENS4_9eof_errorEEERFNS0_10scan_errorESK_ETnPNSt3__19enable_ifIXntsr11is_exp_voidIT_EE5valueEvE4typeELPv0ESN_EEDaOSS_OT0_
1479
template <typename Exp,
1480
          typename F,
1481
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1482
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1483
                                                 SCN_DECLVAL(Exp).error()))>
1484
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1485
{
1486
    if constexpr (std::is_void_v<Ret>) {
1487
        using result = expected<expected_value_type<Exp>, monostate>;
1488
        if (SCN_LIKELY(exp.has_value())) {
1489
            return result();
1490
        }
1491
1492
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1493
        return result(unexpect, monostate{});
1494
    }
1495
    else {
1496
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1497
        return SCN_LIKELY(exp.has_value())
1498
                   ? result()
1499
                   : result(unexpect,
1500
                            trivial_invoke(std::forward<F>(f),
1501
                                           std::forward<Exp>(exp).error()));
1502
    }
1503
}
1504
1505
template <class T, class E, class U, class G, class UR, class GR>
1506
using enable_from_other =
1507
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1508
                     std::is_constructible_v<E, GR> &&
1509
                     !std::is_constructible_v<T, expected<U, G>&> &&
1510
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1511
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1512
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1513
                     !std::is_convertible_v<expected<U, G>&, T> &&
1514
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1515
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1516
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1517
}  // namespace detail
1518
1519
/**
1520
 * \see `std::expected`
1521
 */
1522
template <typename T, typename E>
1523
class SCN_TRIVIAL_ABI expected
1524
    : private detail::expected_operations_base<T, E>,
1525
      private detail::expected_delete_ctor_base<T, E>,
1526
      private detail::expected_delete_assign_base<T, E>,
1527
      private detail::expected_default_ctor_base<T, E> {
1528
    using base = detail::expected_operations_base<T, E>;
1529
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1530
1531
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1532
                  "T must be void or Destructible");
1533
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1534
1535
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1536
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1537
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1538
1539
public:
1540
    using value_type = T;
1541
    using error_type = E;
1542
    using unexpected_type = unexpected<E>;
1543
1544
    template <typename U>
1545
    using rebind = expected<U, error_type>;
1546
1547
    // Special member functions are defaulted, implementations provided
1548
    // by base classes
1549
1550
5.81M
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
73.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
64.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
85.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
69.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
87.1k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
70.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
73.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
64.2k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
85.1k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
69.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
86.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
70.4k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.9k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.6k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.8k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.7k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.9k
    constexpr expected() = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::expected()
Line
Count
Source
1550
30.8k
    constexpr expected() = default;
scn::v4::expected<void, scn::v4::scan_error>::expected()
Line
Count
Source
1550
4.54M
    constexpr expected() = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected()
1551
1552
    constexpr expected(const expected&) = default;
1553
    constexpr expected(expected&&) = default;
1554
    constexpr expected& operator=(const expected&) = default;
1555
520k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1555
14.4k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>&&)
Line
Count
Source
1555
28.8k
    constexpr expected& operator=(expected&&) = default;
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator=(scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>&&)
1556
1557
    ~expected() = default;
1558
1559
    /**
1560
     * Construct an expected value.
1561
     * Intentionally non-explicit, to make constructing an expected
1562
     * value as transparent as possible.
1563
     */
1564
    template <typename U = value_type,
1565
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1566
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1567
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1568
14.6M
        : base(std::in_place, std::forward<U>(val)),
1569
14.6M
          ctor_base(detail::non_default_ctor_tag_t{})
1570
14.6M
    {
1571
14.6M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1568
363k
        : base(std::in_place, std::forward<U>(val)),
1569
363k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
363k
    {
1571
363k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1568
362k
        : base(std::in_place, std::forward<U>(val)),
1569
362k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
362k
    {
1571
362k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1568
11.3k
        : base(std::in_place, std::forward<U>(val)),
1569
11.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
11.3k
    {
1571
11.3k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1568
11.3k
        : base(std::in_place, std::forward<U>(val)),
1569
11.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
11.3k
    {
1571
11.3k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1568
1.33M
        : base(std::in_place, std::forward<U>(val)),
1569
1.33M
          ctor_base(detail::non_default_ctor_tag_t{})
1570
1.33M
    {
1571
1.33M
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1568
158k
        : base(std::in_place, std::forward<U>(val)),
1569
158k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
158k
    {
1571
158k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1568
2.50M
        : base(std::in_place, std::forward<U>(val)),
1569
2.50M
          ctor_base(detail::non_default_ctor_tag_t{})
1570
2.50M
    {
1571
2.50M
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1568
289k
        : base(std::in_place, std::forward<U>(val)),
1569
289k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
289k
    {
1571
289k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1568
1.25M
        : base(std::in_place, std::forward<U>(val)),
1569
1.25M
          ctor_base(detail::non_default_ctor_tag_t{})
1570
1.25M
    {
1571
1.25M
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
1568
595k
        : base(std::in_place, std::forward<U>(val)),
1569
595k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
595k
    {
1571
595k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1568
139k
        : base(std::in_place, std::forward<U>(val)),
1569
139k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
139k
    {
1571
139k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
1568
412k
        : base(std::in_place, std::forward<U>(val)),
1569
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
412k
    {
1571
412k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1568
609k
        : base(std::in_place, std::forward<U>(val)),
1569
609k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
609k
    {
1571
609k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1568
412k
        : base(std::in_place, std::forward<U>(val)),
1569
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
412k
    {
1571
412k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1568
412k
        : base(std::in_place, std::forward<U>(val)),
1569
412k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
412k
    {
1571
412k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1568
57.4k
        : base(std::in_place, std::forward<U>(val)),
1569
57.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
57.4k
    {
1571
57.4k
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1568
936k
        : base(std::in_place, std::forward<U>(val)),
1569
936k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
936k
    {
1571
936k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1568
595k
        : base(std::in_place, std::forward<U>(val)),
1569
595k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
595k
    {
1571
595k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1568
139k
        : base(std::in_place, std::forward<U>(val)),
1569
139k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
139k
    {
1571
139k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1568
414k
        : base(std::in_place, std::forward<U>(val)),
1569
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
414k
    {
1571
414k
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1568
2.59k
        : base(std::in_place, std::forward<U>(val)),
1569
2.59k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
2.59k
    {
1571
2.59k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1568
414k
        : base(std::in_place, std::forward<U>(val)),
1569
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
414k
    {
1571
414k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, void>(scn::v4::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1568
414k
        : base(std::in_place, std::forward<U>(val)),
1569
414k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
414k
    {
1571
414k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1568
57.3k
        : base(std::in_place, std::forward<U>(val)),
1569
57.3k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
57.3k
    {
1571
57.3k
    }
scn::v4::expected<long, scn::v4::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1568
749k
        : base(std::in_place, std::forward<U>(val)),
1569
749k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
749k
    {
1571
749k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, void>(std::__1::pair<char const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const*&, void>(char const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::scan_error>::expected<char const* const&, void>(char const* const&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1568
381k
        : base(std::in_place, std::forward<U>(val)),
1569
381k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
381k
    {
1571
381k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
1568
118k
        : base(std::in_place, std::forward<U>(val)),
1569
118k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
118k
    {
1571
118k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1568
10.6k
        : base(std::in_place, std::forward<U>(val)),
1569
10.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
10.6k
    {
1571
10.6k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Line
Count
Source
1568
133k
        : base(std::in_place, std::forward<U>(val)),
1569
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
133k
    {
1571
133k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1568
84.0k
        : base(std::in_place, std::forward<U>(val)),
1569
84.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
84.0k
    {
1571
84.0k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1568
133k
        : base(std::in_place, std::forward<U>(val)),
1569
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
133k
    {
1571
133k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1568
133k
        : base(std::in_place, std::forward<U>(val)),
1569
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
133k
    {
1571
133k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1568
8.80k
        : base(std::in_place, std::forward<U>(val)),
1569
8.80k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
8.80k
    {
1571
8.80k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1568
381k
        : base(std::in_place, std::forward<U>(val)),
1569
381k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
381k
    {
1571
381k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1568
118k
        : base(std::in_place, std::forward<U>(val)),
1569
118k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
118k
    {
1571
118k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1568
10.6k
        : base(std::in_place, std::forward<U>(val)),
1569
10.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
10.6k
    {
1571
10.6k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Line
Count
Source
1568
133k
        : base(std::in_place, std::forward<U>(val)),
1569
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
133k
    {
1571
133k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1568
81.2k
        : base(std::in_place, std::forward<U>(val)),
1569
81.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
81.2k
    {
1571
81.2k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1568
133k
        : base(std::in_place, std::forward<U>(val)),
1569
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
133k
    {
1571
133k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v4::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1568
133k
        : base(std::in_place, std::forward<U>(val)),
1569
133k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
133k
    {
1571
133k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1568
8.80k
        : base(std::in_place, std::forward<U>(val)),
1569
8.80k
          ctor_base(detail::non_default_ctor_tag_t{})
1570
8.80k
    {
1571
8.80k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, void>(std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>&&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Unexecuted instantiation: scn::v4::expected<long, scn::v4::scan_error>::expected<unsigned long, void>(unsigned long&&)
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::expected<wchar_t, void>(wchar_t&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, void>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
1572
1573
    /// Construct an expected value directly in-place
1574
    template <typename... Args,
1575
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1576
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1577
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1578
        : base(std::in_place, std::forward<Args>(args)...),
1579
          ctor_base(detail::non_default_ctor_tag_t{})
1580
    {
1581
    }
1582
1583
    template <typename G = E,
1584
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1585
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1586
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1587
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1588
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1589
    {
1590
    }
1591
    template <typename G = E,
1592
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1593
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1594
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1595
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1596
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1597
    {
1598
    }
1599
1600
    template <typename G = E,
1601
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1602
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1603
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1604
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1605
        : base(unexpect, std::move(e.error())),
1606
          ctor_base(detail::non_default_ctor_tag_t{})
1607
    {
1608
    }
1609
    template <typename G = E,
1610
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1611
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1612
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1613
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1614
5.64M
        : base(unexpect, std::move(e.error())),
1615
5.64M
          ctor_base(detail::non_default_ctor_tag_t{})
1616
5.64M
    {
1617
5.64M
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1614
86.6k
        : base(unexpect, std::move(e.error())),
1615
86.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
86.6k
    {
1617
86.6k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1614
86.6k
        : base(unexpect, std::move(e.error())),
1615
86.6k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
86.6k
    {
1617
86.6k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
14.4k
        : base(unexpect, std::move(e.error())),
1615
14.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
14.4k
    {
1617
14.4k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Line
Count
Source
1614
173k
        : base(unexpect, std::move(e.error())),
1615
173k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
173k
    {
1617
173k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEEC2ISB_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SB_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEC2ISF_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1614
173k
        : base(unexpect, std::move(e.error())),
1615
173k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
173k
    {
1617
173k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEEC2ISH_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
Line
Count
Source
1614
28.8k
        : base(unexpect, std::move(e.error())),
1615
28.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
28.8k
    {
1617
28.8k
    }
_ZN3scn2v48expectedIlNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1614
520k
        : base(unexpect, std::move(e.error())),
1615
520k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
520k
    {
1617
520k
    }
_ZN3scn2v48expectedIPKcNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1614
159k
        : base(unexpect, std::move(e.error())),
1615
159k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
159k
    {
1617
159k
    }
_ZN3scn2v48expectedIPKwNS0_10scan_errorEEC2IS4_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS4_OT_EEvE4typeELPv0ETnPNS8_IXsr3stdE16is_convertible_vISA_S4_EEvE4typeELSE_0EEEONS0_10unexpectedIS9_EE
Line
Count
Source
1614
328k
        : base(unexpect, std::move(e.error())),
1615
328k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
328k
    {
1617
328k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1614
101k
        : base(unexpect, std::move(e.error())),
1615
101k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
101k
    {
1617
101k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEC2IS6_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS6_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S6_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1614
221k
        : base(unexpect, std::move(e.error())),
1615
221k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
221k
    {
1617
221k
    }
_ZN3scn2v48expectedIvNS0_10scan_errorEEC2IS2_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS2_OT_EEvE4typeELPv0ETnPNS6_IXsr3stdE16is_convertible_vIS8_S2_EEvE4typeELSC_0EEEONS0_10unexpectedIS7_EE
Line
Count
Source
1614
777k
        : base(unexpect, std::move(e.error())),
1615
777k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
777k
    {
1617
777k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1614
23.8k
        : base(unexpect, std::move(e.error())),
1615
23.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
23.8k
    {
1617
23.8k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1614
9.70k
        : base(unexpect, std::move(e.error())),
1615
9.70k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
9.70k
    {
1617
9.70k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEC2ISL_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1614
11.8k
        : base(unexpect, std::move(e.error())),
1615
11.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
11.8k
    {
1617
11.8k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1614
840k
        : base(unexpect, std::move(e.error())),
1615
840k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
840k
    {
1617
840k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Line
Count
Source
1614
3.25k
        : base(unexpect, std::move(e.error())),
1615
3.25k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
3.25k
    {
1617
3.25k
    }
_ZN3scn2v48expectedIPKcNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1614
11.5k
        : base(unexpect, std::move(e.error())),
1615
11.5k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
11.5k
    {
1617
11.5k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1614
8.74k
        : base(unexpect, std::move(e.error())),
1615
8.74k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
8.74k
    {
1617
8.74k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEC2ISH_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISH_OT_EEvE4typeELPv0ETnPNSK_IXsr3stdE16is_convertible_vISM_SH_EEvE4typeELSQ_0EEEONS0_10unexpectedISL_EE
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1614
12.0k
        : base(unexpect, std::move(e.error())),
1615
12.0k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
12.0k
    {
1617
12.0k
    }
_ZN3scn2v48expectedIPKcNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1614
814k
        : base(unexpect, std::move(e.error())),
1615
814k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
814k
    {
1617
814k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEC2ISD_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Line
Count
Source
1614
3.49k
        : base(unexpect, std::move(e.error())),
1615
3.49k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
3.49k
    {
1617
3.49k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1614
20.7k
        : base(unexpect, std::move(e.error())),
1615
20.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
20.7k
    {
1617
20.7k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISL_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSP_IXsr3stdE16is_convertible_vISR_SL_EEvE4typeELSV_0EEEONS0_10unexpectedISQ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEC2ISF_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISF_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SF_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
_ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1614
1.42k
        : base(unexpect, std::move(e.error())),
1615
1.42k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
1.42k
    {
1617
1.42k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEC2INSC_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSH_IXsr3stdE16is_convertible_vISJ_SC_EEvE4typeELSN_0EEEONS0_10unexpectedISI_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEC2ISE_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISE_OT_EEvE4typeELPv0ETnPNSI_IXsr3stdE16is_convertible_vISK_SE_EEvE4typeELSO_0EEEONS0_10unexpectedISJ_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEC2ISO_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISO_OT_EEvE4typeELPv0ETnPNSR_IXsr3stdE16is_convertible_vIST_SO_EEvE4typeELSX_0EEEONS0_10unexpectedISS_EE
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
Line
Count
Source
1614
18.9k
        : base(unexpect, std::move(e.error())),
1615
18.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
18.9k
    {
1617
18.9k
    }
_ZN3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEC2INS7_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S7_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Line
Count
Source
1614
375k
        : base(unexpect, std::move(e.error())),
1615
375k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
375k
    {
1617
375k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEC2IS9_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S9_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
_ZN3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEC2ISI_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Line
Count
Source
1614
11.8k
        : base(unexpect, std::move(e.error())),
1615
11.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
11.8k
    {
1617
11.8k
    }
_ZN3scn2v48expectedIPKwNS0_4impl9eof_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1614
20.7k
        : base(unexpect, std::move(e.error())),
1615
20.7k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
20.7k
    {
1617
20.7k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNS9_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEC2ISB_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
_ZN3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEC2IS7_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S7_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1614
1.42k
        : base(unexpect, std::move(e.error())),
1615
1.42k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
1.42k
    {
1617
1.42k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S8_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEC2INS8_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS8_OT_EEvE4typeELPv0ETnPNSD_IXsr3stdE16is_convertible_vISF_S8_EEvE4typeELSJ_0EEEONS0_10unexpectedISE_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEC2ISC_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSF_IXsr3stdE16is_convertible_vISH_SC_EEvE4typeELSL_0EEEONS0_10unexpectedISG_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISA_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SA_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEC2ISK_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISK_OT_EEvE4typeELPv0ETnPNSN_IXsr3stdE16is_convertible_vISP_SK_EEvE4typeELST_0EEEONS0_10unexpectedISO_EE
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2IS5_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNS9_IXsr3stdE16is_convertible_vISB_S5_EEvE4typeELSF_0EEEONS0_10unexpectedISA_EE
Line
Count
Source
1614
18.9k
        : base(unexpect, std::move(e.error())),
1615
18.9k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
18.9k
    {
1617
18.9k
    }
_ZN3scn2v48expectedIPKwNS0_4impl11parse_errorEEC2INS5_4codeETnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS5_OT_EEvE4typeELPv0ETnPNSA_IXsr3stdE16is_convertible_vISC_S5_EEvE4typeELSG_0EEEONS0_10unexpectedISB_EE
Line
Count
Source
1614
270k
        : base(unexpect, std::move(e.error())),
1615
270k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
270k
    {
1617
270k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEC2IS9_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vIS9_OT_EEvE4typeELPv0ETnPNSC_IXsr3stdE16is_convertible_vISE_S9_EEvE4typeELSI_0EEEONS0_10unexpectedISD_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEC2IS7_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vIS7_OT_EEvE4typeELPv0ETnPNSB_IXsr3stdE16is_convertible_vISD_S7_EEvE4typeELSH_0EEEONS0_10unexpectedISC_EE
_ZN3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEC2ISG_TnPNS2_9enable_ifIXsr3stdE18is_constructible_vISG_OT_EEvE4typeELPv0ETnPNSJ_IXsr3stdE16is_convertible_vISL_SG_EEvE4typeELSP_0EEEONS0_10unexpectedISK_EE
Line
Count
Source
1614
11.8k
        : base(unexpect, std::move(e.error())),
1615
11.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1616
11.8k
    {
1617
11.8k
    }
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEC2ISI_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSM_IXsr3stdE16is_convertible_vISO_SI_EEvE4typeELSS_0EEEONS0_10unexpectedISN_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEEC2ISD_TnPNS7_9enable_ifIXsr3stdE18is_constructible_vISD_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SD_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEC2ISB_TnPNS6_9enable_ifIXsr3stdE18is_constructible_vISB_OT_EEvE4typeELPv0ETnPNSE_IXsr3stdE16is_convertible_vISG_SB_EEvE4typeELSK_0EEEONS0_10unexpectedISF_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISL_TnPNSD_9enable_ifIXsr3stdE18is_constructible_vISL_OT_EEvE4typeELPv0ETnPNSO_IXsr3stdE16is_convertible_vISQ_SL_EEvE4typeELSU_0EEEONS0_10unexpectedISP_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEC2ISC_TnPNSt3__19enable_ifIXsr3stdE18is_constructible_vISC_OT_EEvE4typeELPv0ETnPNSG_IXsr3stdE16is_convertible_vISI_SC_EEvE4typeELSM_0EEEONS0_10unexpectedISH_EE
Unexecuted instantiation: _ZN3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEEC2ISI_TnPNSA_9enable_ifIXsr3stdE18is_constructible_vISI_OT_EEvE4typeELPv0ETnPNSL_IXsr3stdE16is_convertible_vISN_SI_EEvE4typeELSR_0EEEONS0_10unexpectedISM_EE
1618
1619
    /// Construct an unexpected value directly in-place
1620
    template <typename... Args,
1621
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1622
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1623
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1624
208k
        : base(unexpect, std::forward<Args>(args)...),
1625
208k
          ctor_base(detail::non_default_ctor_tag_t{})
1626
208k
    {
1627
208k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1624
40.2k
        : base(unexpect, std::forward<Args>(args)...),
1625
40.2k
          ctor_base(detail::non_default_ctor_tag_t{})
1626
40.2k
    {
1627
40.2k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1624
106k
        : base(unexpect, std::forward<Args>(args)...),
1625
106k
          ctor_base(detail::non_default_ctor_tag_t{})
1626
106k
    {
1627
106k
    }
scn::v4::expected<char const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1624
11.1k
        : base(unexpect, std::forward<Args>(args)...),
1625
11.1k
          ctor_base(detail::non_default_ctor_tag_t{})
1626
11.1k
    {
1627
11.1k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1624
11.4k
        : base(unexpect, std::forward<Args>(args)...),
1625
11.4k
          ctor_base(detail::non_default_ctor_tag_t{})
1626
11.4k
    {
1627
11.4k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1624
18.8k
        : base(unexpect, std::forward<Args>(args)...),
1625
18.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1626
18.8k
    {
1627
18.8k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Line
Count
Source
1624
1.76k
        : base(unexpect, std::forward<Args>(args)...),
1625
1.76k
          ctor_base(detail::non_default_ctor_tag_t{})
1626
1.76k
    {
1627
1.76k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Line
Count
Source
1624
18.8k
        : base(unexpect, std::forward<Args>(args)...),
1625
18.8k
          ctor_base(detail::non_default_ctor_tag_t{})
1626
18.8k
    {
1627
18.8k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::expected<scn::v4::impl::parse_error, void>(scn::v4::unexpect_t, scn::v4::impl::parse_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::expected<scn::v4::scan_error, void>(scn::v4::unexpect_t, scn::v4::scan_error&&)
1628
1629
    template <
1630
        typename U,
1631
        typename G,
1632
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1633
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1634
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1635
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1636
        std::is_nothrow_constructible_v<T, const U&> &&
1637
        std::is_nothrow_constructible_v<E, const G&>)
1638
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1639
    {
1640
        if (other.has_value()) {
1641
            this->construct(*other);
1642
        }
1643
        else {
1644
            this->construct_unexpected(other.error());
1645
        }
1646
    }
1647
    template <
1648
        typename U,
1649
        typename G,
1650
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1651
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1652
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1653
    constexpr expected(const expected<U, G>& other) noexcept(
1654
        std::is_nothrow_constructible_v<T, const U&> &&
1655
        std::is_nothrow_constructible_v<E, const G&>)
1656
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1657
    {
1658
        if (other.has_value()) {
1659
            this->construct(*other);
1660
        }
1661
        else {
1662
            this->construct_unexpected(other.error());
1663
        }
1664
    }
1665
1666
    template <typename U,
1667
              typename G,
1668
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1669
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1670
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1671
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1672
        std::is_nothrow_constructible_v<T, U&&> &&
1673
        std::is_nothrow_constructible_v<E, G&&>)
1674
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1675
    {
1676
        if (other.has_value()) {
1677
            this->construct(std::move(*other));
1678
        }
1679
        else {
1680
            this->construct_unexpected(std::move(other.error()));
1681
        }
1682
    }
1683
    template <typename U,
1684
              typename G,
1685
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1686
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1687
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1688
    constexpr expected(expected<U, G>&& other) noexcept(
1689
        std::is_nothrow_constructible_v<T, U&&> &&
1690
        std::is_nothrow_constructible_v<E, G&&>)
1691
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1692
    {
1693
        if (other.has_value()) {
1694
            this->construct(std::move(*other));
1695
        }
1696
        else {
1697
            this->construct_unexpected(std::move(other.error()));
1698
        }
1699
    }
1700
1701
    template <typename U = value_type,
1702
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1703
    expected& operator=(U&& val) noexcept(
1704
        noexcept(assign_value(std::forward<U>(val))))
1705
    {
1706
        assign_value(std::forward<U>(val));
1707
        return *this;
1708
    }
1709
1710
    expected& operator=(const unexpected_type& unex) noexcept(
1711
        noexcept(assign_unexpected(unex)))
1712
    {
1713
        assign_unexpected(unex);
1714
        return *this;
1715
    }
1716
    expected& operator=(unexpected_type&& unex) noexcept(
1717
        noexcept(assign_unexpected(std::move(unex))))
1718
    {
1719
        assign_unexpected(std::move(unex));
1720
        return *this;
1721
    }
1722
1723
    /// Destroys the contained value, and then initializes the expected
1724
    /// value directly in-place.
1725
    template <typename... Args,
1726
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1727
    decltype(auto) emplace(Args&&... args) noexcept(
1728
        std::is_nothrow_constructible_v<T, Args...>)
1729
    {
1730
        emplace_impl(std::forward<Args>(args)...);
1731
        if constexpr (!std::is_void_v<T>) {
1732
            return this->get_value();
1733
        }
1734
    }
1735
1736
    using base::has_value;
1737
    constexpr explicit operator bool() const noexcept
1738
23.2M
    {
1739
23.2M
        return has_value();
1740
23.2M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
450k
    {
1739
450k
        return has_value();
1740
450k
    }
scn::v4::expected<long, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
1.90M
    {
1739
1.90M
        return has_value();
1740
1.90M
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
73.2k
    {
1739
73.2k
        return has_value();
1740
73.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
64.2k
    {
1739
64.2k
        return has_value();
1740
64.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
85.6k
    {
1739
85.6k
        return has_value();
1740
85.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
69.6k
    {
1739
69.6k
        return has_value();
1740
69.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
87.1k
    {
1739
87.1k
        return has_value();
1740
87.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
70.4k
    {
1739
70.4k
        return has_value();
1740
70.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
449k
    {
1739
449k
        return has_value();
1740
449k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
73.2k
    {
1739
73.2k
        return has_value();
1740
73.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
64.2k
    {
1739
64.2k
        return has_value();
1740
64.2k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
85.1k
    {
1739
85.1k
        return has_value();
1740
85.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
69.7k
    {
1739
69.7k
        return has_value();
1740
69.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
86.6k
    {
1739
86.6k
        return has_value();
1740
86.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
70.4k
    {
1739
70.4k
        return has_value();
1740
70.4k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
184k
    {
1739
184k
        return has_value();
1740
184k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.7k
    {
1739
30.7k
        return has_value();
1740
30.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.6k
    {
1739
30.6k
        return has_value();
1740
30.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.8k
    {
1739
30.8k
        return has_value();
1740
30.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.7k
    {
1739
30.7k
        return has_value();
1740
30.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.9k
    {
1739
30.9k
        return has_value();
1740
30.9k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.8k
    {
1739
30.8k
        return has_value();
1740
30.8k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
184k
    {
1739
184k
        return has_value();
1740
184k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.7k
    {
1739
30.7k
        return has_value();
1740
30.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.6k
    {
1739
30.6k
        return has_value();
1740
30.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.8k
    {
1739
30.8k
        return has_value();
1740
30.8k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.7k
    {
1739
30.7k
        return has_value();
1740
30.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.9k
    {
1739
30.9k
        return has_value();
1740
30.9k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
30.8k
    {
1739
30.8k
        return has_value();
1740
30.8k
    }
scn::v4::expected<void, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
5.33M
    {
1739
5.33M
        return has_value();
1740
5.33M
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
2.67M
    {
1739
2.67M
        return has_value();
1740
2.67M
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
618k
    {
1739
618k
        return has_value();
1740
618k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1738
520k
    {
1739
520k
        return has_value();
1740
520k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
604k
    {
1739
604k
        return has_value();
1740
604k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1738
1.30M
    {
1739
1.30M
        return has_value();
1740
1.30M
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1738
412k
    {
1739
412k
        return has_value();
1740
412k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
412k
    {
1739
412k
        return has_value();
1740
412k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
60.6k
    {
1739
60.6k
        return has_value();
1740
60.6k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
1.48M
    {
1739
1.48M
        return has_value();
1740
1.48M
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1738
522k
    {
1739
522k
        return has_value();
1740
522k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
604k
    {
1739
604k
        return has_value();
1740
604k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<char const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1738
968k
    {
1739
968k
        return has_value();
1740
968k
    }
scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1738
414k
    {
1739
414k
        return has_value();
1740
414k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
414k
    {
1739
414k
        return has_value();
1740
414k
    }
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
60.8k
    {
1739
60.8k
        return has_value();
1740
60.8k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1738
166k
    {
1739
166k
        return has_value();
1740
166k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
119k
    {
1739
119k
        return has_value();
1740
119k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1738
400k
    {
1739
400k
        return has_value();
1740
400k
    }
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1738
133k
    {
1739
133k
        return has_value();
1740
133k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
133k
    {
1739
133k
        return has_value();
1740
133k
    }
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
20.7k
    {
1739
20.7k
        return has_value();
1740
20.7k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
486k
    {
1739
486k
        return has_value();
1740
486k
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1738
166k
    {
1739
166k
        return has_value();
1740
166k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
119k
    {
1739
119k
        return has_value();
1740
119k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::operator bool() const
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::operator bool() const
Line
Count
Source
1738
400k
    {
1739
400k
        return has_value();
1740
400k
    }
scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator bool() const
Line
Count
Source
1738
133k
    {
1739
133k
        return has_value();
1740
133k
    }
scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
133k
    {
1739
133k
        return has_value();
1740
133k
    }
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Line
Count
Source
1738
20.7k
    {
1739
20.7k
        return has_value();
1740
20.7k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator bool() const
1741
1742
    /// Get the unexpected value, if one is contained in *this
1743
    constexpr error_type& error() & noexcept
1744
3.52M
    {
1745
3.52M
        SCN_EXPECT(!has_value());
1746
3.52M
        return this->get_unexpected().error();
1747
3.52M
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1744
86.6k
    {
1745
86.6k
        SCN_EXPECT(!has_value());
1746
86.6k
        return this->get_unexpected().error();
1747
86.6k
    }
scn::v4::expected<long, scn::v4::scan_error>::error() &
Line
Count
Source
1744
520k
    {
1745
520k
        SCN_EXPECT(!has_value());
1746
520k
        return this->get_unexpected().error();
1747
520k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1744
86.6k
    {
1745
86.6k
        SCN_EXPECT(!has_value());
1746
86.6k
        return this->get_unexpected().error();
1747
86.6k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
Line
Count
Source
1744
173k
    {
1745
173k
        SCN_EXPECT(!has_value());
1746
173k
        return this->get_unexpected().error();
1747
173k
    }
scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v4::scan_error>::error() &
Line
Count
Source
1744
173k
    {
1745
173k
        SCN_EXPECT(!has_value());
1746
173k
        return this->get_unexpected().error();
1747
173k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &
Line
Count
Source
1744
445k
    {
1745
445k
        SCN_EXPECT(!has_value());
1746
445k
        return this->get_unexpected().error();
1747
445k
    }
Unexecuted instantiation: scn::v4::expected<wchar_t, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::scan_error>::error() &
Line
Count
Source
1744
171k
    {
1745
171k
        SCN_EXPECT(!has_value());
1746
171k
        return this->get_unexpected().error();
1747
171k
    }
scn::v4::expected<wchar_t const*, scn::v4::scan_error>::error() &
Line
Count
Source
1744
329k
    {
1745
329k
        SCN_EXPECT(!has_value());
1746
329k
        return this->get_unexpected().error();
1747
329k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1744
9.70k
    {
1745
9.70k
        SCN_EXPECT(!has_value());
1746
9.70k
        return this->get_unexpected().error();
1747
9.70k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1744
360
    {
1745
360
        SCN_EXPECT(!has_value());
1746
360
        return this->get_unexpected().error();
1747
360
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1744
369k
    {
1745
369k
        SCN_EXPECT(!has_value());
1746
369k
        return this->get_unexpected().error();
1747
369k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1744
3.25k
    {
1745
3.25k
        SCN_EXPECT(!has_value());
1746
3.25k
        return this->get_unexpected().error();
1747
3.25k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1744
142k
    {
1745
142k
        SCN_EXPECT(!has_value());
1746
142k
        return this->get_unexpected().error();
1747
142k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<char const*, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1744
8.74k
    {
1745
8.74k
        SCN_EXPECT(!has_value());
1746
8.74k
        return this->get_unexpected().error();
1747
8.74k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1744
360
    {
1745
360
        SCN_EXPECT(!has_value());
1746
360
        return this->get_unexpected().error();
1747
360
    }
scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1744
359k
    {
1745
359k
        SCN_EXPECT(!has_value());
1746
359k
        return this->get_unexpected().error();
1747
359k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1744
3.49k
    {
1745
3.49k
        SCN_EXPECT(!has_value());
1746
3.49k
        return this->get_unexpected().error();
1747
3.49k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1744
1.42k
    {
1745
1.42k
        SCN_EXPECT(!has_value());
1746
1.42k
        return this->get_unexpected().error();
1747
1.42k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1744
72
    {
1745
72
        SCN_EXPECT(!has_value());
1746
72
        return this->get_unexpected().error();
1747
72
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1744
142k
    {
1745
142k
        SCN_EXPECT(!has_value());
1746
142k
        return this->get_unexpected().error();
1747
142k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1744
11.8k
    {
1745
11.8k
        SCN_EXPECT(!has_value());
1746
11.8k
        return this->get_unexpected().error();
1747
11.8k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>::error() &
Line
Count
Source
1744
328k
    {
1745
328k
        SCN_EXPECT(!has_value());
1746
328k
        return this->get_unexpected().error();
1747
328k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::pair<wchar_t const*, long>, scn::v4::scan_error>::error() &
Line
Count
Source
1744
1.42k
    {
1745
1.42k
        SCN_EXPECT(!has_value());
1746
1.42k
        return this->get_unexpected().error();
1747
1.42k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::tuple<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &
Line
Count
Source
1744
72
    {
1745
72
        SCN_EXPECT(!has_value());
1746
72
        return this->get_unexpected().error();
1747
72
    }
scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() &
Line
Count
Source
1744
142k
    {
1745
142k
        SCN_EXPECT(!has_value());
1746
142k
        return this->get_unexpected().error();
1747
142k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::scan_error>::error() &
scn::v4::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Line
Count
Source
1744
11.8k
    {
1745
11.8k
        SCN_EXPECT(!has_value());
1746
11.8k
        return this->get_unexpected().error();
1747
11.8k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &
1748
    constexpr const error_type& error() const& noexcept
1749
0
    {
1750
0
        SCN_EXPECT(!has_value());
1751
0
        return this->get_unexpected().error();
1752
0
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<char const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<wchar_t const*, scn::v4::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() const &
1753
    constexpr error_type&& error() && noexcept
1754
342k
    {
1755
342k
        SCN_EXPECT(!has_value());
1756
342k
        return std::move(this->get_unexpected().error());
1757
342k
    }
scn::v4::expected<void, scn::v4::scan_error>::error() &&
Line
Count
Source
1754
133k
    {
1755
133k
        SCN_EXPECT(!has_value());
1756
133k
        return std::move(this->get_unexpected().error());
1757
133k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1754
23.4k
    {
1755
23.4k
        SCN_EXPECT(!has_value());
1756
23.4k
        return std::move(this->get_unexpected().error());
1757
23.4k
    }
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1754
20.6k
    {
1755
20.6k
        SCN_EXPECT(!has_value());
1756
20.6k
        return std::move(this->get_unexpected().error());
1757
20.6k
    }
scn::v4::expected<char const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1754
11.1k
    {
1755
11.1k
        SCN_EXPECT(!has_value());
1756
11.1k
        return std::move(this->get_unexpected().error());
1757
11.1k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1754
28.2k
    {
1755
28.2k
        SCN_EXPECT(!has_value());
1756
28.2k
        return std::move(this->get_unexpected().error());
1757
28.2k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<char const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::parse_error>::error() &&
Line
Count
Source
1754
104k
    {
1755
104k
        SCN_EXPECT(!has_value());
1756
104k
        return std::move(this->get_unexpected().error());
1757
104k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::eof_error>::error() &&
scn::v4::expected<wchar_t const*, scn::v4::impl::eof_error>::error() &&
Line
Count
Source
1754
20.6k
    {
1755
20.6k
        SCN_EXPECT(!has_value());
1756
20.6k
        return std::move(this->get_unexpected().error());
1757
20.6k
    }
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::parse_integer_prefix_result<wchar_t const*>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::eof_error>::error() &&
1758
    constexpr const error_type&& error() const&& noexcept
1759
    {
1760
        SCN_EXPECT(!has_value());
1761
        return std::move(this->get_unexpected().error());
1762
    }
1763
1764
    /// Get the expected value, if one is contained in *this
1765
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1766
    constexpr U& value() & noexcept
1767
16.6M
    {
1768
16.6M
        SCN_EXPECT(has_value());
1769
16.6M
        return this->get_value();
1770
16.6M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1767
363k
    {
1768
363k
        SCN_EXPECT(has_value());
1769
363k
        return this->get_value();
1770
363k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEE5valueIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1767
1.12M
    {
1768
1.12M
        SCN_EXPECT(has_value());
1769
1.12M
        return this->get_value();
1770
1.12M
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
190k
    {
1768
190k
        SCN_EXPECT(has_value());
1769
190k
        return this->get_value();
1770
190k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
163k
    {
1768
163k
        SCN_EXPECT(has_value());
1769
163k
        return this->get_value();
1770
163k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
228k
    {
1768
228k
        SCN_EXPECT(has_value());
1769
228k
        return this->get_value();
1770
228k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
180k
    {
1768
180k
        SCN_EXPECT(has_value());
1769
180k
        return this->get_value();
1770
180k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
232k
    {
1768
232k
        SCN_EXPECT(has_value());
1769
232k
        return this->get_value();
1770
232k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
182k
    {
1768
182k
        SCN_EXPECT(has_value());
1769
182k
        return this->get_value();
1770
182k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1767
362k
    {
1768
362k
        SCN_EXPECT(has_value());
1769
362k
        return this->get_value();
1770
362k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
190k
    {
1768
190k
        SCN_EXPECT(has_value());
1769
190k
        return this->get_value();
1770
190k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
163k
    {
1768
163k
        SCN_EXPECT(has_value());
1769
163k
        return this->get_value();
1770
163k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
226k
    {
1768
226k
        SCN_EXPECT(has_value());
1769
226k
        return this->get_value();
1770
226k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
180k
    {
1768
180k
        SCN_EXPECT(has_value());
1769
180k
        return this->get_value();
1770
180k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
230k
    {
1768
230k
        SCN_EXPECT(has_value());
1769
230k
        return this->get_value();
1770
230k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
182k
    {
1768
182k
        SCN_EXPECT(has_value());
1769
182k
        return this->get_value();
1770
182k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1767
11.3k
    {
1768
11.3k
        SCN_EXPECT(has_value());
1769
11.3k
        return this->get_value();
1770
11.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
34.4k
    {
1768
34.4k
        SCN_EXPECT(has_value());
1769
34.4k
        return this->get_value();
1770
34.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
34.1k
    {
1768
34.1k
        SCN_EXPECT(has_value());
1769
34.1k
        return this->get_value();
1770
34.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
34.7k
    {
1768
34.7k
        SCN_EXPECT(has_value());
1769
34.7k
        return this->get_value();
1770
34.7k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
34.3k
    {
1768
34.3k
        SCN_EXPECT(has_value());
1769
34.3k
        return this->get_value();
1770
34.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
35.0k
    {
1768
35.0k
        SCN_EXPECT(has_value());
1769
35.0k
        return this->get_value();
1770
35.0k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEENS0_10scan_errorEE5valueISA_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Line
Count
Source
1767
34.6k
    {
1768
34.6k
        SCN_EXPECT(has_value());
1769
34.6k
        return this->get_value();
1770
34.6k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEE5valueISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1767
11.3k
    {
1768
11.3k
        SCN_EXPECT(has_value());
1769
11.3k
        return this->get_value();
1770
11.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
34.4k
    {
1768
34.4k
        SCN_EXPECT(has_value());
1769
34.4k
        return this->get_value();
1770
34.4k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
34.1k
    {
1768
34.1k
        SCN_EXPECT(has_value());
1769
34.1k
        return this->get_value();
1770
34.1k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
34.7k
    {
1768
34.7k
        SCN_EXPECT(has_value());
1769
34.7k
        return this->get_value();
1770
34.7k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
34.3k
    {
1768
34.3k
        SCN_EXPECT(has_value());
1769
34.3k
        return this->get_value();
1770
34.3k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
35.0k
    {
1768
35.0k
        SCN_EXPECT(has_value());
1769
35.0k
        return this->get_value();
1770
35.0k
    }
_ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEENS0_10scan_errorEE5valueISG_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Line
Count
Source
1767
34.6k
    {
1768
34.6k
        SCN_EXPECT(has_value());
1769
34.6k
        return this->get_value();
1770
34.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedIwNS0_10scan_errorEE5valueIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1767
834k
    {
1768
834k
        SCN_EXPECT(has_value());
1769
834k
        return this->get_value();
1770
834k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1767
225k
    {
1768
225k
        SCN_EXPECT(has_value());
1769
225k
        return this->get_value();
1770
225k
    }
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1767
2.50M
    {
1768
2.50M
        SCN_EXPECT(has_value());
1769
2.50M
        return this->get_value();
1770
2.50M
    }
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1767
289k
    {
1768
289k
        SCN_EXPECT(has_value());
1769
289k
        return this->get_value();
1770
289k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1767
510k
    {
1768
510k
        SCN_EXPECT(has_value());
1769
510k
        return this->get_value();
1770
510k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1767
595k
    {
1768
595k
        SCN_EXPECT(has_value());
1769
595k
        return this->get_value();
1770
595k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEE5valueISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1767
748k
    {
1768
748k
        SCN_EXPECT(has_value());
1769
748k
        return this->get_value();
1770
748k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1767
412k
    {
1768
412k
        SCN_EXPECT(has_value());
1769
412k
        return this->get_value();
1770
412k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1767
412k
    {
1768
412k
        SCN_EXPECT(has_value());
1769
412k
        return this->get_value();
1770
412k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1767
412k
    {
1768
412k
        SCN_EXPECT(has_value());
1769
412k
        return this->get_value();
1770
412k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1767
57.4k
    {
1768
57.4k
        SCN_EXPECT(has_value());
1769
57.4k
        return this->get_value();
1770
57.4k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1767
1.33M
    {
1768
1.33M
        SCN_EXPECT(has_value());
1769
1.33M
        return this->get_value();
1770
1.33M
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1767
595k
    {
1768
595k
        SCN_EXPECT(has_value());
1769
595k
        return this->get_value();
1770
595k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEE5valueISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSL_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1767
141k
    {
1768
141k
        SCN_EXPECT(has_value());
1769
141k
        return this->get_value();
1770
141k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1767
414k
    {
1768
414k
        SCN_EXPECT(has_value());
1769
414k
        return this->get_value();
1770
414k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1767
414k
    {
1768
414k
        SCN_EXPECT(has_value());
1769
414k
        return this->get_value();
1770
414k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1767
414k
    {
1768
414k
        SCN_EXPECT(has_value());
1769
414k
        return this->get_value();
1770
414k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEE5valueISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Line
Count
Source
1767
57.3k
    {
1768
57.3k
        SCN_EXPECT(has_value());
1769
57.3k
        return this->get_value();
1770
57.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEE5valueISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1767
118k
    {
1768
118k
        SCN_EXPECT(has_value());
1769
118k
        return this->get_value();
1770
118k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEE5valueISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSS_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1767
94.6k
    {
1768
94.6k
        SCN_EXPECT(has_value());
1769
94.6k
        return this->get_value();
1770
94.6k
    }
_ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Line
Count
Source
1767
133k
    {
1768
133k
        SCN_EXPECT(has_value());
1769
133k
        return this->get_value();
1770
133k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1767
133k
    {
1768
133k
        SCN_EXPECT(has_value());
1769
133k
        return this->get_value();
1770
133k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1767
133k
    {
1768
133k
        SCN_EXPECT(has_value());
1769
133k
        return this->get_value();
1770
133k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEE5valueISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Line
Count
Source
1767
8.80k
    {
1768
8.80k
        SCN_EXPECT(has_value());
1769
8.80k
        return this->get_value();
1770
8.80k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1767
158k
    {
1768
158k
        SCN_EXPECT(has_value());
1769
158k
        return this->get_value();
1770
158k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1767
225k
    {
1768
225k
        SCN_EXPECT(has_value());
1769
225k
        return this->get_value();
1770
225k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
_ZNR3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEE5valueIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1767
118k
    {
1768
118k
        SCN_EXPECT(has_value());
1769
118k
        return this->get_value();
1770
118k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEE5valueISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSO_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1767
91.9k
    {
1768
91.9k
        SCN_EXPECT(has_value());
1769
91.9k
        return this->get_value();
1770
91.9k
    }
_ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Line
Count
Source
1767
133k
    {
1768
133k
        SCN_EXPECT(has_value());
1769
133k
        return this->get_value();
1770
133k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1767
133k
    {
1768
133k
        SCN_EXPECT(has_value());
1769
133k
        return this->get_value();
1770
133k
    }
_ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1767
133k
    {
1768
133k
        SCN_EXPECT(has_value());
1769
133k
        return this->get_value();
1770
133k
    }
_ZNR3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Line
Count
Source
1767
8.80k
    {
1768
8.80k
        SCN_EXPECT(has_value());
1769
8.80k
        return this->get_value();
1770
8.80k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEE5valueISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEENS0_10scan_errorEE5valueISC_TnPNS7_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISK_TnPNSD_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSP_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEENS0_10scan_errorEE5valueISH_TnPNSA_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
1771
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1772
    constexpr const U& value() const& noexcept
1773
0
    {
1774
0
        SCN_EXPECT(has_value());
1775
0
        return this->get_value();
1776
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE5valueISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE5valueISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE5valueIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE5valueIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE5valueIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE5valueIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE5valueIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE5valueISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE5valueISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE5valueISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE5valueIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEE5valueIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE5valueISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1777
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1778
    constexpr U&& value() && noexcept
1779
    {
1780
        SCN_EXPECT(has_value());
1781
        return std::move(this->get_value());
1782
    }
1783
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1784
    constexpr const U&& value() const&& noexcept
1785
    {
1786
        SCN_EXPECT(has_value());
1787
        return std::move(this->get_value());
1788
    }
1789
1790
    /// Get the expected value, if one is contained in *this
1791
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1792
    constexpr U& operator*() & noexcept
1793
2.97M
    {
1794
2.97M
        return value();
1795
2.97M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1793
363k
    {
1794
363k
        return value();
1795
363k
    }
_ZNR3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS7_v
Line
Count
Source
1793
1.12M
    {
1794
1.12M
        return value();
1795
1.12M
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1793
362k
    {
1794
362k
        return value();
1795
362k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeIPKwS7_EENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Line
Count
Source
1793
11.3k
    {
1794
11.3k
        return value();
1795
11.3k
    }
_ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS8_PKS9_lLl1024EEESD_EENS0_10scan_errorEEdeISE_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Line
Count
Source
1793
11.3k
    {
1794
11.3k
        return value();
1795
11.3k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1793
96.3k
    {
1794
96.3k
        return value();
1795
96.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1793
141k
    {
1794
141k
        return value();
1795
141k
    }
_ZNR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1793
96.4k
    {
1794
96.4k
        return value();
1795
96.4k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1793
141k
    {
1794
141k
        return value();
1795
141k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1793
281k
    {
1794
281k
        return value();
1795
281k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1793
280k
    {
1794
280k
        return value();
1795
280k
    }
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1793
10.3k
    {
1794
10.3k
        return value();
1795
10.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSQ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Line
Count
Source
1793
10.6k
    {
1794
10.6k
        return value();
1795
10.6k
    }
_ZNR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1793
10.3k
    {
1794
10.3k
        return value();
1795
10.3k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSM_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSA_v
Line
Count
Source
1793
10.6k
    {
1794
10.6k
        return value();
1795
10.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
_ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSB_v
Line
Count
Source
1793
10.6k
    {
1794
10.6k
        return value();
1795
10.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
_ZNR3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERS9_v
Line
Count
Source
1793
10.6k
    {
1794
10.6k
        return value();
1795
10.6k
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSN_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES9_EENS0_10scan_errorEEdeISA_TnPNS6_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSH_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSJ_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSE_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSC_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSK_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSF_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSG_v
Unexecuted instantiation: _ZNR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERSD_v
1796
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1797
    constexpr const U& operator*() const& noexcept
1798
0
    {
1799
0
        return value();
1800
0
    }
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSQ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSJ_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSH_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSE_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSM_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSC_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSK_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSF_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSG_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSD_v
Unexecuted instantiation: _ZNKR3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSA_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
Unexecuted instantiation: _ZNKR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEERKSN_v
1801
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1802
    constexpr U&& operator*() && noexcept
1803
10.9M
    {
1804
10.9M
        return std::move(value());
1805
10.9M
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIwNS0_10scan_errorEEdeIwTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1803
738k
    {
1804
738k
        return std::move(value());
1805
738k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1803
214k
    {
1804
214k
        return std::move(value());
1805
214k
    }
_ZNO3scn2v48expectedIPKcNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1803
2.22M
    {
1804
2.22M
        return std::move(value());
1805
2.22M
    }
_ZNO3scn2v48expectedIPKwNS0_10scan_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS9_v
Line
Count
Source
1803
278k
    {
1804
278k
        return std::move(value());
1805
278k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1803
414k
    {
1804
414k
        return std::move(value());
1805
414k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1803
595k
    {
1804
595k
        return std::move(value());
1805
595k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESJ_EEENS0_10scan_errorEEdeISK_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSP_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1803
412k
    {
1804
412k
        return std::move(value());
1805
412k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1803
607k
    {
1804
607k
        return std::move(value());
1805
607k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1803
412k
    {
1804
412k
        return std::move(value());
1805
412k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1803
412k
    {
1804
412k
        return std::move(value());
1805
412k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESD_EEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Line
Count
Source
1803
57.4k
    {
1804
57.4k
        return std::move(value());
1805
57.4k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1803
1.05M
    {
1804
1.05M
        return std::move(value());
1805
1.05M
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedINSt3__14pairIPKclEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1803
595k
    {
1804
595k
        return std::move(value());
1805
595k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESF_EEENS0_10scan_errorEEdeISG_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSL_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
_ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1803
414k
    {
1804
414k
        return std::move(value());
1805
414k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1803
414k
    {
1804
414k
        return std::move(value());
1805
414k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1803
414k
    {
1804
414k
        return std::move(value());
1805
414k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKcNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEESB_EEENS0_10scan_errorEEdeISC_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Line
Count
Source
1803
57.3k
    {
1804
57.3k
        return std::move(value());
1805
57.3k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedIlNS0_10scan_errorEEdeIlTnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOS7_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISK_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSQ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEElEENS0_10scan_errorEEdeISE_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorElEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1803
118k
    {
1804
118k
        return std::move(value());
1805
118k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS0_10scan_errorEEdeISD_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSJ_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSE_IcNSF_IcEENSH_IcEEEEEEENS0_10scan_errorEEdeISN_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSS_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS0_10scan_errorEEdeISB_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSH_v
_ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Line
Count
Source
1803
133k
    {
1804
133k
        return std::move(value());
1805
133k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1803
84.0k
    {
1804
84.0k
        return std::move(value());
1805
84.0k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1803
133k
    {
1804
133k
        return std::move(value());
1805
133k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS0_10scan_errorEEdeIS8_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSE_v
Line
Count
Source
1803
133k
    {
1804
133k
        return std::move(value());
1805
133k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJNS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS8_IcNS9_IcEENSB_IcEEEEEEENS0_10scan_errorEEdeISH_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Line
Count
Source
1803
8.80k
    {
1804
8.80k
        return std::move(value());
1805
8.80k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_10scan_errorEEdeIS5_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1803
147k
    {
1804
147k
        return std::move(value());
1805
147k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNS9_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSM_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EElEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1803
214k
    {
1804
214k
        return std::move(value());
1805
214k
    }
_ZNO3scn2v48expectedINSt3__14pairIPKwlEENS0_10scan_errorEEdeIS6_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSB_v
Line
Count
Source
1803
118k
    {
1804
118k
        return std::move(value());
1805
118k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS0_10scan_errorEEdeIS9_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__15tupleIJNS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENSA_IcNSB_IcEENSD_IcEEEEEEENS0_10scan_errorEEdeISJ_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSO_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS0_10scan_errorEEdeIS7_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
_ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Line
Count
Source
1803
133k
    {
1804
133k
        return std::move(value());
1805
133k
    }
_ZNO3scn2v48expectedIPKwNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Line
Count
Source
1803
81.2k
    {
1804
81.2k
        return std::move(value());
1805
81.2k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1803
133k
    {
1804
133k
        return std::move(value());
1805
133k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS0_10scan_errorEEdeIS6_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSC_v
Line
Count
Source
1803
133k
    {
1804
133k
        return std::move(value());
1805
133k
    }
_ZNO3scn2v48expectedINSt3__15tupleIJPKwNS2_12basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEENS6_IcNS7_IcEENS9_IcEEEEEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Line
Count
Source
1803
8.80k
    {
1804
8.80k
        return std::move(value());
1805
8.80k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS0_10scan_errorEEdeISF_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSK_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS0_10scan_errorEEdeISA_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSF_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS0_10scan_errorEEdeISB_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSG_v
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS0_10scan_errorEEdeIS8_TnPNS2_9enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSD_v
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl11parse_errorEEdeIS3_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSA_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS0_10scan_errorEEdeISH_TnPNSt3__19enable_ifIXntsr3stdE9is_void_vIT_EEvE4typeELPv0EEEOSN_v
1806
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1807
    constexpr const U&& operator*() const&& noexcept
1808
    {
1809
        return std::move(value());
1810
    }
1811
1812
    constexpr value_type* operator->() noexcept
1813
2.76M
    {
1814
2.76M
        return &value();
1815
2.76M
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
190k
    {
1814
190k
        return &value();
1815
190k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
163k
    {
1814
163k
        return &value();
1815
163k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
228k
    {
1814
228k
        return &value();
1815
228k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
180k
    {
1814
180k
        return &value();
1815
180k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
232k
    {
1814
232k
        return &value();
1815
232k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
182k
    {
1814
182k
        return &value();
1815
182k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
190k
    {
1814
190k
        return &value();
1815
190k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
163k
    {
1814
163k
        return &value();
1815
163k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
226k
    {
1814
226k
        return &value();
1815
226k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
180k
    {
1814
180k
        return &value();
1815
180k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
230k
    {
1814
230k
        return &value();
1815
230k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
182k
    {
1814
182k
        return &value();
1815
182k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.4k
    {
1814
34.4k
        return &value();
1815
34.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.1k
    {
1814
34.1k
        return &value();
1815
34.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.7k
    {
1814
34.7k
        return &value();
1815
34.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.3k
    {
1814
34.3k
        return &value();
1815
34.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
35.0k
    {
1814
35.0k
        return &value();
1815
35.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.6k
    {
1814
34.6k
        return &value();
1815
34.6k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.4k
    {
1814
34.4k
        return &value();
1815
34.4k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.1k
    {
1814
34.1k
        return &value();
1815
34.1k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.7k
    {
1814
34.7k
        return &value();
1815
34.7k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.3k
    {
1814
34.3k
        return &value();
1815
34.3k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
35.0k
    {
1814
35.0k
        return &value();
1815
35.0k
    }
scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v4::scan_error>::operator->()
Line
Count
Source
1813
34.6k
    {
1814
34.6k
        return &value();
1815
34.6k
    }
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<char const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<std::__1::pair<wchar_t const*, scn::v4::impl::sign_type>, scn::v4::impl::eof_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
Unexecuted instantiation: scn::v4::expected<scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v4::scan_error>::operator->()
1816
    constexpr const value_type* operator->() const noexcept
1817
    {
1818
        return &value();
1819
    }
1820
1821
    /// Returns the expected value if *this contains one, otherwise
1822
    /// returns default_value
1823
    template <typename U,
1824
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1825
                                          std::is_convertible_v<U, T>>>
1826
    constexpr T value_or(U&& default_value) const& noexcept(
1827
        std::is_nothrow_copy_constructible_v<T> &&
1828
        std::is_nothrow_constructible_v<T, U&&>)
1829
    {
1830
        if (has_value()) {
1831
            return value();
1832
        }
1833
        return std::forward<U>(default_value);
1834
    }
1835
    template <typename U,
1836
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1837
                                          std::is_convertible_v<U, T>>>
1838
    constexpr T value_or(U&& default_value) && noexcept(
1839
        std::is_nothrow_move_constructible_v<T> &&
1840
        std::is_nothrow_constructible_v<T, U&&>)
1841
    {
1842
        if (has_value()) {
1843
            return std::move(value());
1844
        }
1845
        return std::forward<U>(default_value);
1846
    }
1847
1848
    template <typename G,
1849
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1850
                                          std::is_convertible_v<G, E>>>
1851
    constexpr E error_or(G&& default_error) const& noexcept(
1852
        std::is_nothrow_copy_constructible_v<E> &&
1853
        std::is_nothrow_constructible_v<E, G&&>)
1854
    {
1855
        if (!has_value()) {
1856
            return error();
1857
        }
1858
        return std::forward<G>(default_error);
1859
    }
1860
    template <typename G,
1861
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1862
                                          std::is_convertible_v<G, E>>>
1863
    constexpr E error_or(G&& default_error) && noexcept(
1864
        std::is_nothrow_move_constructible_v<E> &&
1865
        std::is_nothrow_constructible_v<E, G&&>)
1866
    {
1867
        if (!has_value()) {
1868
            return std::move(error());
1869
        }
1870
        return std::forward<G>(default_error);
1871
    }
1872
1873
    template <typename F>
1874
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1875
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1876
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1877
    {
1878
        return detail::and_then_impl(*this, std::forward<F>(f));
1879
    }
1880
    template <typename F>
1881
    constexpr auto and_then(F&& f) const& noexcept(
1882
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1883
                                       std::forward<F>(f))))
1884
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1885
    {
1886
        return detail::and_then_impl(*this, std::forward<F>(f));
1887
    }
1888
    template <typename F>
1889
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1890
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1891
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1892
    {
1893
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1894
    }
1895
    template <typename F>
1896
    constexpr auto and_then(F&& f) const&& noexcept(
1897
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1898
                                       std::forward<F>(f))))
1899
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1900
    {
1901
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1902
    }
1903
1904
    template <typename F>
1905
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1906
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1907
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1908
    {
1909
        return detail::or_else_impl(*this, std::forward<F>(f));
1910
    }
1911
    template <typename F>
1912
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1913
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1914
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1915
    {
1916
        return detail::or_else_impl(*this, std::forward<F>(f));
1917
    }
1918
    template <typename F>
1919
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1920
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1921
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1922
    {
1923
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1924
    }
1925
    template <typename F>
1926
    constexpr auto or_else(F&& f) const&& noexcept(
1927
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1928
                                      std::forward<F>(f))))
1929
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1930
    {
1931
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1932
    }
1933
1934
    template <typename F>
1935
    constexpr auto transform(
1936
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1937
    {
1938
        return detail::transform_impl(*this, std::forward<F>(f));
1939
    }
1940
    template <typename F>
1941
    constexpr auto transform(F&& f)
1942
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1943
    {
1944
        return detail::transform_impl(*this, std::forward<F>(f));
1945
    }
1946
    template <typename F>
1947
    constexpr auto transform(
1948
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1949
    {
1950
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1951
    }
1952
    template <typename F>
1953
    constexpr auto transform(F&& f)
1954
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1955
    {
1956
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1957
    }
1958
1959
    template <typename F>
1960
    constexpr auto transform_error(
1961
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1962
                                                          std::forward<F>(f)))
1963
0
    {
1964
0
        return detail::transform_error_impl(*this, std::forward<F>(f));
1965
0
    }
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNR3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNR3scn2v48expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
1966
    template <typename F>
1967
    constexpr auto transform_error(F&& f)
1968
        const& -> decltype(detail::transform_error_impl(*this,
1969
                                                        std::forward<F>(f)))
1970
    {
1971
        return detail::transform_error_impl(*this, std::forward<F>(f));
1972
    }
1973
    template <typename F>
1974
    constexpr auto transform_error(
1975
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1976
                                                           std::forward<F>(f)))
1977
3.16M
    {
1978
3.16M
        return detail::transform_error_impl(std::move(*this),
1979
3.16M
                                            std::forward<F>(f));
1980
3.16M
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1977
424k
    {
1978
424k
        return detail::transform_error_impl(std::move(*this),
1979
424k
                                            std::forward<F>(f));
1980
424k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1977
135k
    {
1978
135k
        return detail::transform_error_impl(std::move(*this),
1979
135k
                                            std::forward<F>(f));
1980
135k
    }
_ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1977
425k
    {
1978
425k
        return detail::transform_error_impl(std::move(*this),
1979
425k
                                            std::forward<F>(f));
1980
425k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1977
336k
    {
1978
336k
        return detail::transform_error_impl(std::move(*this),
1979
336k
                                            std::forward<F>(f));
1980
336k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1977
412k
    {
1978
412k
        return detail::transform_error_impl(std::move(*this),
1979
412k
                                            std::forward<F>(f));
1980
412k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1977
309k
    {
1978
309k
        return detail::transform_error_impl(std::move(*this),
1979
309k
                                            std::forward<F>(f));
1980
309k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1977
414k
    {
1978
414k
        return detail::transform_error_impl(std::move(*this),
1979
414k
                                            std::forward<F>(f));
1980
414k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1977
100k
    {
1978
100k
        return detail::transform_error_impl(std::move(*this),
1979
100k
                                            std::forward<F>(f));
1980
100k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1977
133k
    {
1978
133k
        return detail::transform_error_impl(std::move(*this),
1979
133k
                                            std::forward<F>(f));
1980
133k
    }
_ZNO3scn2v48expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1977
107k
    {
1978
107k
        return detail::transform_error_impl(std::move(*this),
1979
107k
                                            std::forward<F>(f));
1980
107k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1977
135k
    {
1978
135k
        return detail::transform_error_impl(std::move(*this),
1979
135k
                                            std::forward<F>(f));
1980
135k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
_ZNO3scn2v48expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1977
100k
    {
1978
100k
        return detail::transform_error_impl(std::move(*this),
1979
100k
                                            std::forward<F>(f));
1980
100k
    }
_ZNO3scn2v48expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1977
133k
    {
1978
133k
        return detail::transform_error_impl(std::move(*this),
1979
133k
                                            std::forward<F>(f));
1980
133k
    }
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v48expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Unexecuted instantiation: _ZNO3scn2v48expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Unexecuted instantiation: _ZNO3scn2v48expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
1981
    template <typename F>
1982
    constexpr auto transform_error(F&& f)
1983
        const&& -> decltype(detail::transform_error_impl(*this,
1984
                                                         std::forward<F>(f)))
1985
    {
1986
        return detail::transform_error_impl(std::move(*this),
1987
                                            std::forward<F>(f));
1988
    }
1989
1990
private:
1991
    template <typename... Args>
1992
    void emplace_impl(Args&&... args) noexcept(
1993
        std::is_nothrow_constructible_v<T, Args&&...>)
1994
    {
1995
        if (this->has_value()) {
1996
            this->destroy_value();
1997
            this->construct(std::forward<Args>(args)...);
1998
        }
1999
        else {
2000
#if SCN_HAS_EXCEPTIONS
2001
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
2002
                auto tmp = std::move(error());
2003
                this->destroy_unexpected();
2004
2005
                try {
2006
                    this->construct(std::forward<Args>(args)...);
2007
                }
2008
                catch (...) {
2009
                    this->construct_unexpected(std::move(tmp));
2010
                    throw;
2011
                }
2012
            }
2013
            else {
2014
                this->construct(std::forward<Args>(args)...);
2015
            }
2016
#else
2017
            this->destroy_unexpected();
2018
            this->construct(std::forward<Args>(args)...);
2019
#endif
2020
        }
2021
    }
2022
2023
    template <typename Value>
2024
    void assign_value(Value&& val) noexcept(
2025
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
2026
                                        Value&&> &&
2027
        std::is_nothrow_assignable_v<T, Value&&>)
2028
    {
2029
        if (has_value()) {
2030
            this->get_value() = std::forward<Value>(val);
2031
            return;
2032
        }
2033
2034
#if SCN_HAS_EXCEPTIONS
2035
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
2036
            this->destroy_unexpected();
2037
            this->construct(std::forward<Value>(val));
2038
        }
2039
        else {
2040
            auto tmp = std::move(this->get_unexpected());
2041
            this->destroy_unexpected();
2042
2043
            try {
2044
                this->construct(std::forward<Value>(val));
2045
            }
2046
            catch (...) {
2047
                this->construct_unexpected(std::move(tmp));
2048
            }
2049
        }
2050
#else
2051
        this->destroy_unexpected();
2052
        this->construct(std::forward<Value>(val));
2053
#endif
2054
    }
2055
2056
    template <typename Unexpected>
2057
    void assign_unexpected(Unexpected&& unex) noexcept(
2058
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
2059
        std::is_nothrow_assignable_v<E, Unexpected&&>)
2060
    {
2061
        if (!has_value()) {
2062
            this->get_unexpected() = std::forward<Unexpected>(unex);
2063
            return;
2064
        }
2065
2066
        this->destroy_value();
2067
        this->construct_unexpected(std::forward<Unexpected>(unex));
2068
    }
2069
};
2070
2071
/////////////////////////////////////////////////////////////////
2072
// <ranges> implementation
2073
/////////////////////////////////////////////////////////////////
2074
2075
/**
2076
 * Contains a very minimal `<ranges>` implementation.
2077
 *
2078
 * This is a heavily stripped-down and adapted version of NanoRange:
2079
 * https://github.com/tcbrindle/NanoRange.
2080
 *
2081
 * NanoRange is provided under the Boost license.
2082
 * Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
2083
 */
2084
namespace ranges {
2085
2086
namespace detail {
2087
using namespace scn::detail;
2088
2089
template <typename T>
2090
constexpr auto decay_copy(T&& t) noexcept(
2091
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
2092
119M
{
2093
119M
    return SCN_FWD(t);
2094
119M
}
_ZN3scn2v46ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
2092
4.29M
{
2093
4.29M
    return SCN_FWD(t);
2094
4.29M
}
_ZN3scn2v46ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
2092
1.27M
{
2093
1.27M
    return SCN_FWD(t);
2094
1.27M
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
2092
9.22M
{
2093
9.22M
    return SCN_FWD(t);
2094
9.22M
}
_ZN3scn2v46ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
2092
1.19M
{
2093
1.19M
    return SCN_FWD(t);
2094
1.19M
}
_ZN3scn2v46ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
2092
103M
{
2093
103M
    return SCN_FWD(t);
2094
103M
}
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINS1_18default_sentinel_tEEEu7__decayIT_EOS5_
Unexecuted instantiation: _ZN3scn2v46ranges6detail10decay_copyINSt3__111__wrap_iterIPcEEEEu7__decayIT_EOS8_
2095
2096
template <bool>
2097
struct conditional {
2098
    template <typename T, typename>
2099
    using type = T;
2100
};
2101
2102
template <>
2103
struct conditional<false> {
2104
    template <typename, typename U>
2105
    using type = U;
2106
};
2107
2108
template <bool B, typename T, typename U>
2109
using conditional_t = typename conditional<B>::template type<T, U>;
2110
2111
template <template <class...> class AliasT, typename... Args>
2112
auto exists_helper(long) -> std::false_type;
2113
2114
template <template <class...> class AliasT,
2115
          typename... Args,
2116
          typename = AliasT<Args...>>
2117
auto exists_helper(int) -> std::true_type;
2118
2119
template <template <class...> class AliasT, typename... Args>
2120
inline constexpr bool exists_v =
2121
    decltype(exists_helper<AliasT, Args...>(0))::value;
2122
2123
template <typename, typename...>
2124
auto test_requires_fn(long) -> std::false_type;
2125
2126
template <typename R,
2127
          typename... Args,
2128
          typename = decltype(&R::template requires_<Args...>)>
2129
auto test_requires_fn(int) -> std::true_type;
2130
2131
template <typename R, typename... Args>
2132
inline constexpr bool requires_ =
2133
    decltype(test_requires_fn<R, Args...>(0))::value;
2134
2135
template <bool Expr>
2136
using requires_expr = std::enable_if_t<Expr, int>;
2137
}  // namespace detail
2138
2139
template <typename>
2140
inline constexpr bool enable_borrowed_range = false;
2141
2142
namespace detail {
2143
template <typename T>
2144
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2145
2146
struct boolean_testable_concept {
2147
    template <typename T>
2148
    auto requires_(T&& t)
2149
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2150
};
2151
2152
template <typename T>
2153
inline constexpr bool boolean_testable =
2154
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2155
}  // namespace detail
2156
2157
namespace detail {
2158
struct weakly_equality_comparable_with_concept {
2159
    template <typename T, typename U>
2160
    auto requires_(const std::remove_reference_t<T>& t,
2161
                   const std::remove_reference_t<U>& u)
2162
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2163
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2164
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2165
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2166
};
2167
2168
template <typename T, typename U>
2169
inline constexpr bool weakly_equality_comparable_with =
2170
    requires_<weakly_equality_comparable_with_concept, T, U>;
2171
}  // namespace detail
2172
2173
template <typename T>
2174
inline constexpr bool equality_comparable =
2175
    detail::weakly_equality_comparable_with<T, T>;
2176
2177
namespace detail {
2178
struct equality_comparable_with_concept {
2179
    template <typename, typename>
2180
    static auto test(long) -> std::false_type;
2181
2182
    template <typename T, typename U>
2183
    static auto test(int)
2184
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2185
#if 0
2186
            common_reference_with<const std::remove_reference_t<T>&,
2187
                                  const std::remove_reference_t<U>&> &&
2188
            equality_comparable<
2189
                common_reference_t<const std::remove_reference_t<T>&,
2190
                                   const std::remove_reference_t<U>&>> &&
2191
#endif
2192
                                weakly_equality_comparable_with<T, U>,
2193
                            std::true_type>;
2194
};
2195
}  // namespace detail
2196
2197
template <typename T, typename U>
2198
inline constexpr bool equality_comparable_with =
2199
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2200
2201
namespace detail {
2202
struct partially_ordered_with_concept {
2203
    template <typename T, typename U>
2204
    auto requires_(const std::remove_reference_t<T>& t,
2205
                   const std::remove_reference_t<U>& u)
2206
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2207
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2208
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2209
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2210
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2211
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2212
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2213
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2214
};
2215
2216
template <typename T, typename U>
2217
inline constexpr bool partially_ordered_with =
2218
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2219
}  // namespace detail
2220
2221
template <typename T>
2222
inline constexpr bool totally_ordered =
2223
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2224
2225
namespace detail {
2226
struct totally_ordered_with_concept {
2227
    template <typename, typename>
2228
    static auto test(long) -> std::false_type;
2229
2230
    template <typename T, typename U>
2231
    static auto test(int)
2232
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2233
                                equality_comparable_with<T, U> &&
2234
#if 0
2235
                                totally_ordered<common_reference_t<
2236
                                    const std::remove_reference_t<T>&,
2237
                                    const std::remove_reference_t<U>&>> &&
2238
#endif
2239
                                partially_ordered_with<T, U>,
2240
                            std::true_type>;
2241
};
2242
}  // namespace detail
2243
2244
template <typename T, typename U>
2245
inline constexpr bool totally_ordered_with =
2246
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2247
2248
namespace detail {
2249
struct movable_concept {
2250
    template <typename T>
2251
    static auto test(long) -> std::false_type;
2252
2253
    template <typename T>
2254
    static auto test(int) -> std::enable_if_t<
2255
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2256
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2257
        std::true_type>;
2258
};
2259
}  // namespace detail
2260
2261
template <typename T>
2262
inline constexpr bool movable =
2263
    decltype(detail::movable_concept::test<T>(0))::value;
2264
2265
namespace detail {
2266
struct copyable_concept {
2267
    template <typename>
2268
    static auto test(long) -> std::false_type;
2269
2270
    template <typename T>
2271
    static auto test(int)
2272
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2273
                                std::is_copy_assignable_v<T>,
2274
                            std::true_type>;
2275
};
2276
}  // namespace detail
2277
2278
template <typename T>
2279
inline constexpr bool copyable =
2280
    decltype(detail::copyable_concept::test<T>(0))::value;
2281
2282
template <typename T>
2283
inline constexpr bool semiregular =
2284
    copyable<T> && std::is_default_constructible_v<T>;
2285
2286
template <typename T>
2287
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2288
2289
template <typename>
2290
struct incrementable_traits;
2291
2292
namespace detail {
2293
struct empty {};
2294
2295
template <typename T>
2296
struct with_difference_type {
2297
    using difference_type = T;
2298
};
2299
2300
template <typename, typename = void>
2301
struct incrementable_traits_helper {};
2302
2303
// Workaround for GCC silliness: void* has no difference_type
2304
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2305
// error Can we formulate the concept differently to avoid the need for this
2306
// hack?
2307
template <>
2308
struct incrementable_traits_helper<void*> {};
2309
2310
template <typename T>
2311
struct incrementable_traits_helper<T*>
2312
    : detail::conditional_t<std::is_object_v<T>,
2313
                            with_difference_type<std::ptrdiff_t>,
2314
                            empty> {};
2315
2316
template <class I>
2317
struct incrementable_traits_helper<const I>
2318
    : incrementable_traits<std::decay_t<I>> {};
2319
2320
template <typename, typename = void>
2321
struct has_member_difference_type : std::false_type {};
2322
2323
template <typename T>
2324
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2325
    : std::true_type {};
2326
2327
template <typename T>
2328
constexpr bool has_member_difference_type_v =
2329
    has_member_difference_type<T>::value;
2330
2331
template <typename T>
2332
struct incrementable_traits_helper<
2333
    T,
2334
    std::enable_if_t<has_member_difference_type_v<T>>> {
2335
    using difference_type = typename T::difference_type;
2336
};
2337
2338
template <typename T, typename = void>
2339
struct subtraction_result_type {
2340
    using type = void;
2341
};
2342
template <typename T>
2343
struct subtraction_result_type<
2344
    T,
2345
    std::void_t<decltype(std::declval<const T&>() -
2346
                         std::declval<const T&>())>> {
2347
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2348
};
2349
2350
template <typename T>
2351
inline constexpr bool enable_incrtraits_subtractable =
2352
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2353
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2354
2355
template <typename T>
2356
struct incrementable_traits_helper<
2357
    T,
2358
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2359
    : with_difference_type<
2360
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2361
}  // namespace detail
2362
2363
template <typename T>
2364
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2365
2366
template <typename T>
2367
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2368
2369
template <typename>
2370
struct readable_traits;
2371
2372
namespace detail {
2373
template <typename T>
2374
struct with_value_type {
2375
    using value_type = T;
2376
};
2377
2378
template <typename, typename = void>
2379
struct readable_traits_helper {};
2380
2381
template <typename T>
2382
struct readable_traits_helper<T*>
2383
    : detail::conditional_t<std::is_object_v<T>,
2384
                            with_value_type<std::remove_cv_t<T>>,
2385
                            empty> {};
2386
2387
template <typename I>
2388
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2389
    : readable_traits<std::decay_t<I>> {};
2390
2391
template <typename I>
2392
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2393
    : readable_traits<std::decay_t<I>> {};
2394
2395
template <typename T, typename V = typename T::value_type>
2396
struct member_value_type
2397
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2398
2399
template <typename T, typename E = typename T::element_type>
2400
struct member_element_type
2401
    : detail::conditional_t<std::is_object_v<E>,
2402
                            with_value_type<std::remove_cv_t<E>>,
2403
                            empty> {};
2404
2405
template <typename T>
2406
using member_value_type_t = typename T::value_type;
2407
2408
template <typename T>
2409
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2410
2411
template <typename T>
2412
using member_element_type_t = typename T::element_type;
2413
2414
template <typename T>
2415
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2416
2417
template <typename T>
2418
struct readable_traits_helper<T,
2419
                              std::enable_if_t<has_member_value_type_v<T> &&
2420
                                               !has_member_element_type_v<T>>>
2421
    : member_value_type<T> {};
2422
2423
template <typename T>
2424
struct readable_traits_helper<T,
2425
                              std::enable_if_t<has_member_element_type_v<T> &&
2426
                                               !has_member_value_type_v<T>>>
2427
    : member_element_type<T> {};
2428
2429
// A type which has both value_type and element_type members must specialise
2430
// readable_traits to tell us which one to prefer -- see
2431
// https://github.com/ericniebler/stl2/issues/562
2432
template <typename T>
2433
struct readable_traits_helper<T,
2434
                              std::enable_if_t<has_member_element_type_v<T> &&
2435
                                               has_member_value_type_v<T>>> {};
2436
}  // namespace detail
2437
2438
template <typename T>
2439
struct readable_traits : detail::readable_traits_helper<T> {};
2440
2441
template <typename T>
2442
using iter_value_t = typename readable_traits<T>::value_type;
2443
2444
namespace detail {
2445
template <typename T>
2446
using with_reference = T&;
2447
2448
struct can_reference_concept {
2449
    template <typename T>
2450
    auto requires_() -> with_reference<T>;
2451
};
2452
2453
template <typename T>
2454
inline constexpr bool can_reference =
2455
    detail::requires_<can_reference_concept, T>;
2456
2457
struct dereferencable_concept {
2458
    template <typename T>
2459
    auto requires_(T& t)
2460
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2461
};
2462
2463
template <typename T>
2464
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2465
2466
// GCC and Clang allow dereferencing void* as an extension.
2467
// Let's kill that off now.
2468
2469
template <>
2470
inline constexpr bool dereferenceable<void*> = false;
2471
}  // namespace detail
2472
2473
using std::bidirectional_iterator_tag;
2474
using std::forward_iterator_tag;
2475
using std::input_iterator_tag;
2476
using std::output_iterator_tag;
2477
using std::random_access_iterator_tag;
2478
2479
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2480
    __cpp_lib_ranges >= 201911L
2481
using std::contiguous_iterator_tag;
2482
#else
2483
struct contiguous_iterator_tag : random_access_iterator_tag {};
2484
#endif
2485
2486
template <typename T>
2487
struct iterator_category;
2488
2489
namespace detail {
2490
template <typename T, typename = void>
2491
struct iterator_category_ {};
2492
template <typename T>
2493
struct iterator_category_<T*>
2494
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2495
template <typename T>
2496
struct iterator_category_<const T> : iterator_category<T> {};
2497
template <typename T>
2498
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2499
    using type = typename T::iterator_category;
2500
};
2501
}  // namespace detail
2502
2503
template <typename T>
2504
struct iterator_category : detail::iterator_category_<T> {};
2505
template <typename T>
2506
using iterator_category_t = typename iterator_category<T>::type;
2507
2508
namespace detail {
2509
2510
template <typename T, typename = void>
2511
struct legacy_iterator_category : iterator_category<T> {};
2512
2513
template <typename T>
2514
struct legacy_iterator_category<
2515
    T,
2516
    std::enable_if_t<
2517
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2518
    using type = random_access_iterator_tag;
2519
};
2520
2521
template <typename T>
2522
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2523
2524
}  // namespace detail
2525
2526
template <typename T>
2527
using iter_reference_t =
2528
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2529
2530
namespace detail {
2531
2532
struct readable_concept {
2533
    template <typename In>
2534
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2535
                                 std::declval<iter_reference_t<In>>());
2536
    // std::declval<iter_rvalue_reference_t<In>>());
2537
2538
    template <typename>
2539
    static auto test(long) -> std::false_type;
2540
2541
    template <typename In>
2542
    static auto test(int)
2543
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2544
#if 0
2545
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2546
            common_reference_with<iter_reference_t<In>&&,
2547
                                  iter_rvalue_reference_t<In>&&> &&
2548
            common_reference_with<iter_rvalue_reference_t<In>&&,
2549
                                  const iter_value_t<In>&>,
2550
#endif
2551
                            std::true_type>;
2552
};
2553
2554
}  // namespace detail
2555
2556
template <typename In>
2557
inline constexpr bool readable =
2558
    decltype(detail::readable_concept::test<In>(0))::value;
2559
2560
namespace detail {
2561
2562
struct writable_concept {
2563
    template <typename Out, typename T>
2564
    auto requires_(Out&& o, T&& t)
2565
        -> decltype(*o = std::forward<T>(t),
2566
                    *std::forward<Out>(o) = std::forward<T>(t),
2567
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2568
                        std::forward<T>(t),
2569
                    const_cast<const iter_reference_t<Out>&&>(
2570
                        *std::forward<Out>(o)) = std::forward<T>(t));
2571
};
2572
2573
}  // namespace detail
2574
2575
template <typename Out, typename T>
2576
inline constexpr bool writable =
2577
    detail::requires_<detail::writable_concept, Out, T>;
2578
2579
namespace detail {
2580
2581
template <typename T>
2582
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2583
2584
template <typename T>
2585
inline constexpr bool is_signed_integer_like =
2586
    std::is_integral_v<T> && std::is_signed_v<T>;
2587
2588
struct weakly_incrementable_concept {
2589
    template <typename I>
2590
    auto requires_(I i)
2591
        -> decltype(std::declval<iter_difference_t<I>>(),
2592
                    requires_expr<
2593
                        is_signed_integer_like<iter_difference_t<I>>>{},
2594
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2595
                    i++);
2596
};
2597
2598
}  // namespace detail
2599
2600
template <typename I>
2601
inline constexpr bool weakly_incrementable =
2602
    std::is_default_constructible_v<I> && movable<I> &&
2603
    detail::requires_<detail::weakly_incrementable_concept, I>;
2604
2605
namespace detail {
2606
2607
struct incrementable_concept {
2608
    template <typename I>
2609
    auto requires_(I i)
2610
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2611
};
2612
2613
}  // namespace detail
2614
2615
template <typename I>
2616
inline constexpr bool incrementable =
2617
    regular<I> && weakly_incrementable<I> &&
2618
    detail::requires_<detail::incrementable_concept, I>;
2619
2620
namespace detail {
2621
2622
struct input_or_output_iterator_concept {
2623
    template <typename I>
2624
    auto requires_(I i)
2625
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2626
};
2627
2628
}  // namespace detail
2629
2630
template <typename I>
2631
inline constexpr bool input_or_output_iterator =
2632
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2633
    weakly_incrementable<I>;
2634
2635
template <typename S, typename I>
2636
inline constexpr bool sentinel_for =
2637
    semiregular<S> && input_or_output_iterator<I> &&
2638
    detail::weakly_equality_comparable_with<S, I>;
2639
2640
template <typename S, typename I>
2641
inline constexpr bool disable_sized_sentinel = false;
2642
2643
namespace detail {
2644
2645
struct sized_sentinel_for_concept {
2646
    template <typename S, typename I>
2647
    auto requires_(const S& s, const I& i)
2648
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2649
                                                 iter_difference_t<I>>>{},
2650
                    requires_expr<std::is_same_v<decltype(i - s),
2651
                                                 iter_difference_t<I>>>{});
2652
};
2653
2654
}  // namespace detail
2655
2656
template <typename S, typename I>
2657
inline constexpr bool sized_sentinel_for =
2658
    sentinel_for<S, I> &&
2659
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2660
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2661
2662
// This is a hack, but I'm fed up with my tests breaking because GCC
2663
// has a silly extension
2664
template <typename S>
2665
inline constexpr bool sized_sentinel_for<S, void*> = false;
2666
2667
template <typename I>
2668
inline constexpr bool sized_sentinel_for<void*, I> = false;
2669
2670
template <>
2671
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2672
2673
namespace detail {
2674
2675
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2676
struct input_iterator_concept {
2677
    template <typename I>
2678
    auto requires_() -> iterator_category_t<I>;
2679
2680
    template <typename>
2681
    static auto test(long) -> std::false_type;
2682
2683
    template <typename I>
2684
    static auto test(int) -> std::enable_if_t<
2685
        input_or_output_iterator<I> && readable<I> &&
2686
            detail::requires_<input_iterator_concept, I> &&
2687
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2688
        std::true_type>;
2689
};
2690
2691
}  // namespace detail
2692
2693
template <typename I>
2694
inline constexpr bool input_iterator =
2695
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2696
2697
namespace detail {
2698
2699
struct output_iterator_concept {
2700
    template <typename I, typename T>
2701
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2702
};
2703
2704
}  // namespace detail
2705
2706
template <typename I, typename T>
2707
inline constexpr bool output_iterator =
2708
    input_or_output_iterator<I> && writable<I, T> &&
2709
    detail::requires_<detail::output_iterator_concept, I, T>;
2710
2711
namespace detail {
2712
2713
struct forward_iterator_concept {
2714
    template <typename>
2715
    static auto test(long) -> std::false_type;
2716
2717
    template <typename I>
2718
    static auto test(int) -> std::enable_if_t<
2719
        input_iterator<I> &&
2720
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2721
            incrementable<I> && sentinel_for<I, I>,
2722
        std::true_type>;
2723
};
2724
2725
}  // namespace detail
2726
2727
template <typename I>
2728
inline constexpr bool forward_iterator =
2729
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2730
2731
namespace detail {
2732
2733
struct bidirectional_iterator_concept {
2734
    template <typename I>
2735
    auto requires_(I i)
2736
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2737
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2738
2739
    template <typename>
2740
    static auto test(long) -> std::false_type;
2741
2742
    template <typename I>
2743
    static auto test(int) -> std::enable_if_t<
2744
        forward_iterator<I> &&
2745
            std::is_base_of_v<bidirectional_iterator_tag,
2746
                              iterator_category_t<I>> &&
2747
            detail::requires_<bidirectional_iterator_concept, I>,
2748
        std::true_type>;
2749
};
2750
2751
}  // namespace detail
2752
2753
template <typename I>
2754
inline constexpr bool bidirectional_iterator =
2755
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2756
2757
namespace detail {
2758
2759
struct random_access_iterator_concept {
2760
    template <typename>
2761
    static auto test(long) -> std::false_type;
2762
2763
    template <typename I>
2764
    static auto test(int) -> std::enable_if_t<
2765
        bidirectional_iterator<I> &&
2766
            std::is_base_of_v<random_access_iterator_tag,
2767
                              iterator_category_t<I>> &&
2768
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2769
            detail::requires_<random_access_iterator_concept, I>,
2770
        std::true_type>;
2771
2772
    template <typename I>
2773
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2774
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2775
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2776
#ifndef _MSC_VER
2777
                    requires_expr<std::is_same_v<decltype(n + j),
2778
                                                 I>>{},  // FIXME: MSVC doesn't
2779
                                                         // like this when I =
2780
                                                         // int*
2781
#endif
2782
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2783
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2784
                    requires_expr<
2785
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2786
};
2787
2788
}  // namespace detail
2789
2790
template <typename I>
2791
inline constexpr bool random_access_iterator =
2792
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2793
2794
namespace detail {
2795
2796
struct contiguous_iterator_concept {
2797
    template <typename>
2798
    static auto test(long) -> std::false_type;
2799
2800
    template <typename I>
2801
    static auto test(int) -> std::enable_if_t<
2802
        random_access_iterator<I> &&
2803
            /*std::is_base_of_v<contiguous_iterator_tag,
2804
                              iterator_category_t<I>> &&*/
2805
            detail::can_make_address_from_iterator<I> &&
2806
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2807
            std::is_same_v<iter_value_t<I>,
2808
                           remove_cvref_t<iter_reference_t<I>>>,
2809
        std::true_type>;
2810
};
2811
2812
}  // namespace detail
2813
2814
template <typename I>
2815
inline constexpr bool contiguous_iterator =
2816
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2817
2818
namespace detail::begin_ {
2819
2820
template <typename T>
2821
void begin(T&) = delete;
2822
template <typename T>
2823
void begin(const T&) = delete;
2824
2825
struct fn {
2826
private:
2827
    template <typename T,
2828
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2829
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2830
                  nullptr>
2831
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2832
2833
    template <typename T,
2834
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2835
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2836
        -> decltype(t + 0)
2837
    {
2838
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2839
        return t + 0;
2840
    }
2841
2842
    template <typename T>
2843
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2844
        noexcept(decay_copy(SCN_FWD(t).begin())))
2845
        -> std::enable_if_t<
2846
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2847
            decltype(decay_copy(SCN_FWD(t).begin()))>
2848
5.48M
    {
2849
5.48M
        return decay_copy(t.begin());
2850
5.48M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
87.3k
    {
2849
87.3k
        return decay_copy(t.begin());
2850
87.3k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
814k
    {
2849
814k
        return decay_copy(t.begin());
2850
814k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
2.13M
    {
2849
2.13M
        return decay_copy(t.begin());
2850
2.13M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
86.6k
    {
2849
86.6k
        return decay_copy(t.begin());
2850
86.6k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
812k
    {
2849
812k
        return decay_copy(t.begin());
2850
812k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
362k
    {
2849
362k
        return decay_copy(t.begin());
2850
362k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
174k
    {
2849
174k
        return decay_copy(t.begin());
2850
174k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
196k
    {
2849
196k
        return decay_copy(t.begin());
2850
196k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
437k
    {
2849
437k
        return decay_copy(t.begin());
2850
437k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
173k
    {
2849
173k
        return decay_copy(t.begin());
2850
173k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
196k
    {
2849
196k
        return decay_copy(t.begin());
2850
196k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2848
11.3k
    {
2849
11.3k
        return decay_copy(t.begin());
2850
11.3k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v4::ranges::detail::begin_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&>(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
2851
2852
    template <typename T>
2853
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2854
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2855
        -> std::enable_if_t<
2856
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2857
            decltype(decay_copy(begin(SCN_FWD(t))))>
2858
    {
2859
        return decay_copy(begin(SCN_FWD(t)));
2860
    }
2861
2862
public:
2863
    template <typename T>
2864
    constexpr auto operator()(T&& t) const
2865
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2866
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2867
5.48M
    {
2868
5.48M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
5.48M
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
87.3k
    {
2868
87.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
87.3k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
814k
    {
2868
814k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
814k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
2.13M
    {
2868
2.13M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
2.13M
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
86.6k
    {
2868
86.6k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
86.6k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
812k
    {
2868
812k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
812k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
362k
    {
2868
362k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
362k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
174k
    {
2868
174k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
174k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
196k
    {
2868
196k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
196k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
437k
    {
2868
437k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
437k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
173k
    {
2868
173k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
173k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
196k
    {
2868
196k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
196k
    }
_ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2867
11.3k
    {
2868
11.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2869
11.3k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2870
};
2871
2872
}  // namespace detail::begin_
2873
2874
inline constexpr auto begin = detail::begin_::fn{};
2875
2876
namespace detail::end_ {
2877
2878
template <typename T>
2879
void end(T&) = delete;
2880
template <typename T>
2881
void end(const T&) = delete;
2882
2883
struct fn {
2884
private:
2885
    template <typename T,
2886
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2887
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2888
                  nullptr>
2889
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2890
2891
    template <typename T,
2892
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2893
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2894
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2895
    {
2896
        return t + std::extent_v<remove_cvref_t<T>>;
2897
    }
2898
2899
    template <typename T,
2900
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2901
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2902
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2903
        noexcept(decay_copy(SCN_FWD(t).end())))
2904
        -> std::enable_if_t<sentinel_for<S, I>,
2905
                            decltype(decay_copy(SCN_FWD(t).end()))>
2906
112M
    {
2907
112M
        return decay_copy(SCN_FWD(t).end());
2908
112M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
901k
    {
2907
901k
        return decay_copy(SCN_FWD(t).end());
2908
901k
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
363k
    {
2907
363k
        return decay_copy(SCN_FWD(t).end());
2908
363k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
898k
    {
2907
898k
        return decay_copy(SCN_FWD(t).end());
2908
898k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
6.69M
    {
2907
6.69M
        return decay_copy(SCN_FWD(t).end());
2908
6.69M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
362k
    {
2907
362k
        return decay_copy(SCN_FWD(t).end());
2908
362k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
370k
    {
2907
370k
        return decay_copy(SCN_FWD(t).end());
2908
370k
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
11.3k
    {
2907
11.3k
        return decay_copy(SCN_FWD(t).end());
2908
11.3k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
369k
    {
2907
369k
        return decay_copy(SCN_FWD(t).end());
2908
369k
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
102M
    {
2907
102M
        return decay_copy(SCN_FWD(t).end());
2908
102M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2906
11.3k
    {
2907
11.3k
        return decay_copy(SCN_FWD(t).end());
2908
11.3k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > const&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v4::ranges::detail::end_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::ranges::default_sentinel_t, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&, scn::v4::detail::priority_tag<1ul>)
2909
2910
    template <typename T,
2911
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2912
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2913
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2914
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2915
    {
2916
        return decay_copy(end(SCN_FWD(t)));
2917
    }
2918
2919
public:
2920
    template <typename T>
2921
    constexpr auto operator()(T&& t) const
2922
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2923
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2924
112M
    {
2925
112M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
112M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
901k
    {
2925
901k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
901k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
363k
    {
2925
363k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
363k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
898k
    {
2925
898k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
898k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
6.69M
    {
2925
6.69M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
6.69M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
362k
    {
2925
362k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
362k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
370k
    {
2925
370k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
370k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
11.3k
    {
2925
11.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
11.3k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
369k
    {
2925
369k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
369k
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
102M
    {
2925
102M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
102M
    }
_ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2924
11.3k
    {
2925
11.3k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2926
11.3k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__111__wrap_iterIPcEESB_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
2927
};
2928
2929
}  // namespace detail::end_
2930
2931
inline constexpr auto end = detail::end_::fn{};
2932
2933
namespace detail {
2934
struct range_concept {
2935
    template <typename T>
2936
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2937
};
2938
}  // namespace detail
2939
2940
template <typename T>
2941
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2942
2943
template <typename T>
2944
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2945
2946
template <typename R>
2947
using sentinel_t =
2948
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2949
2950
template <typename R>
2951
using range_difference_t =
2952
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2953
2954
template <typename R>
2955
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2956
2957
template <typename R>
2958
using range_reference_t =
2959
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2960
2961
namespace detail {
2962
template <typename, typename = void>
2963
inline constexpr bool is_object_pointer_v = false;
2964
template <typename P>
2965
inline constexpr bool
2966
    is_object_pointer_v<P,
2967
                        std::enable_if_t<std::is_pointer_v<P> &&
2968
                                         std::is_object_v<iter_value_t<P>>>> =
2969
        true;
2970
2971
namespace data_ {
2972
2973
struct fn {
2974
private:
2975
    template <typename T,
2976
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2977
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2978
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2979
2.50M
    {
2980
2.50M
        return t.data();
2981
2.50M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2979
450k
    {
2980
450k
        return t.data();
2981
450k
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2979
184k
    {
2980
184k
        return t.data();
2981
184k
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v4::detail::priority_tag<1ul>)
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2979
1.44M
    {
2980
1.44M
        return t.data();
2981
1.44M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v4::detail::priority_tag<1ul>)
Line
Count
Source
2979
425k
    {
2980
425k
        return t.data();
2981
425k
    }
2982
2983
    template <typename T>
2984
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2985
        noexcept(scn::ranges::begin(SCN_FWD(t))))
2986
        -> std::enable_if_t<
2987
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
2988
            decltype(scn::ranges::begin(SCN_FWD(t)))>
2989
0
    {
2990
0
        return scn::ranges::begin(SCN_FWD(t));
2991
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v4::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v4::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v4::ranges::detail::data_::fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v4::detail::priority_tag<0ul>)
2992
2993
public:
2994
    template <typename T>
2995
    constexpr auto operator()(T&& t) const
2996
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
2997
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
2998
2.50M
    {
2999
2.50M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3000
2.50M
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2998
450k
    {
2999
450k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3000
450k
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2998
184k
    {
2999
184k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3000
184k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2998
1.44M
    {
2999
1.44M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3000
1.44M
    }
_ZNK3scn2v46ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2998
425k
    {
2999
425k
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
3000
425k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
3001
};
3002
3003
}  // namespace data_
3004
}  // namespace detail
3005
3006
inline constexpr auto data = detail::data_::fn{};
3007
3008
template <typename T>
3009
inline constexpr bool disable_sized_range = false;
3010
3011
namespace detail::size_ {
3012
3013
template <typename T>
3014
void size(T&&) = delete;
3015
template <typename T>
3016
void size(T&) = delete;
3017
3018
struct fn {
3019
private:
3020
    template <typename T, std::size_t N>
3021
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
3022
    {
3023
        return N;
3024
    }
3025
3026
    template <typename T, std::size_t N>
3027
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
3028
    {
3029
        return N;
3030
    }
3031
3032
    template <typename T,
3033
              typename I = decltype(decay_copy(std::declval<T>().size()))>
3034
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3035
        noexcept(decay_copy(SCN_FWD(t).size())))
3036
        -> std::enable_if_t<std::is_integral_v<I> &&
3037
                                !disable_sized_range<remove_cvref_t<T>>,
3038
                            I>
3039
1.27M
    {
3040
1.27M
        return decay_copy(SCN_FWD(t).size());
3041
1.27M
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3039
450k
    {
3040
450k
        return decay_copy(SCN_FWD(t).size());
3041
450k
    }
_ZN3scn2v46ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3039
184k
    {
3040
184k
        return decay_copy(SCN_FWD(t).size());
3041
184k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3039
129k
    {
3040
129k
        return decay_copy(SCN_FWD(t).size());
3041
129k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3039
354k
    {
3040
354k
        return decay_copy(SCN_FWD(t).size());
3041
354k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
_ZN3scn2v46ranges6detail5size_2fn4implIRNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
3039
159k
    {
3040
159k
        return decay_copy(SCN_FWD(t).size());
3041
159k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
3042
3043
    template <typename T,
3044
              typename I = decltype(decay_copy(size(std::declval<T>())))>
3045
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3046
        noexcept(decay_copy(size(SCN_FWD(t)))))
3047
        -> std::enable_if_t<std::is_integral_v<I> &&
3048
                                !disable_sized_range<remove_cvref_t<T>>,
3049
                            I>
3050
    {
3051
        return decay_copy(size(SCN_FWD(t)));
3052
    }
3053
3054
    template <typename T,
3055
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
3056
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
3057
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
3058
                                                             SCN_DECLVAL(I)))>
3059
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
3060
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
3061
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
3062
                                sized_sentinel_for<S, I> && forward_iterator<I>,
3063
                            D>
3064
    {
3065
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
3066
    }
3067
3068
public:
3069
    template <typename T>
3070
    constexpr auto operator()(T&& t) const
3071
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
3072
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
3073
1.27M
    {
3074
1.27M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3075
1.27M
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3073
450k
    {
3074
450k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3075
450k
    }
_ZNK3scn2v46ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
3073
184k
    {
3074
184k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3075
184k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
3073
129k
    {
3074
129k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3075
129k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3073
354k
    {
3074
354k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3075
354k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
_ZNK3scn2v46ranges6detail5size_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSC_
Line
Count
Source
3073
159k
    {
3074
159k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
3075
159k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
3076
};
3077
3078
}  // namespace detail::size_
3079
3080
inline constexpr auto size = detail::size_::fn{};
3081
3082
namespace detail {
3083
namespace ssize_ {
3084
struct fn {
3085
private:
3086
    template <typename T>
3087
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
3088
                                                  sizeof(std::ptrdiff_t),
3089
                                              std::ptrdiff_t,
3090
                                              range_difference_t<T>>;
3091
3092
    template <typename T>
3093
    static constexpr auto impl(T&& t) noexcept(
3094
        noexcept(ranges::size(std::forward<T>(t))))
3095
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
3096
129k
    {
3097
129k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3098
129k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
_ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
3096
129k
    {
3097
129k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
3098
129k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
3099
3100
public:
3101
    template <typename T>
3102
    constexpr auto operator()(T&& t) const
3103
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
3104
            -> decltype(fn::impl(std::forward<T>(t)))
3105
129k
    {
3106
129k
        return fn::impl(std::forward<T>(t));
3107
129k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
_ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
3105
129k
    {
3106
129k
        return fn::impl(std::forward<T>(t));
3107
129k
    }
Unexecuted instantiation: _ZNK3scn2v46ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
3108
};
3109
}  // namespace ssize_
3110
}  // namespace detail
3111
3112
inline constexpr auto ssize = detail::ssize_::fn{};
3113
3114
namespace detail::empty_ {
3115
struct fn {
3116
private:
3117
    template <typename T>
3118
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
3119
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
3120
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
3121
    {
3122
        return static_cast<bool>(SCN_FWD(t).empty());
3123
    }
3124
3125
    template <typename T>
3126
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
3127
        noexcept(ranges::size(SCN_FWD(t)) == 0))
3128
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
3129
    {
3130
        return ranges::size(SCN_FWD(t)) == 0;
3131
    }
3132
3133
    template <typename T,
3134
              typename I = decltype(ranges::begin(std::declval<T>()))>
3135
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
3136
        noexcept(ranges::begin(t) == ranges::end(t)))
3137
        -> std::enable_if_t<forward_iterator<I>,
3138
                            decltype(ranges::begin(t) == ranges::end(t))>
3139
    {
3140
        return ranges::begin(t) == ranges::end(t);
3141
    }
3142
3143
public:
3144
    template <typename T>
3145
    constexpr auto operator()(T&& t) const
3146
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3147
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3148
    {
3149
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3150
    }
3151
};
3152
}  // namespace detail::empty_
3153
3154
inline constexpr auto empty = detail::empty_::fn{};
3155
3156
/**
3157
 * \see `std::ranges::borrowed_range`
3158
 */
3159
template <typename T>
3160
inline constexpr bool borrowed_range =
3161
    range<T> && (std::is_lvalue_reference_v<T> ||
3162
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3163
3164
namespace detail {
3165
struct sized_range_concept {
3166
    template <typename T>
3167
    auto requires_(T& t) -> decltype(ranges::size(t));
3168
};
3169
}  // namespace detail
3170
3171
template <typename T>
3172
inline constexpr bool sized_range =
3173
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3174
    detail::requires_<detail::sized_range_concept, T>;
3175
3176
namespace detail {
3177
struct output_range_concept {
3178
    template <typename, typename>
3179
    static auto test(long) -> std::false_type;
3180
3181
    template <typename R, typename T>
3182
    static auto test(int)
3183
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3184
                            std::true_type>;
3185
};
3186
}  // namespace detail
3187
3188
template <typename R, typename T>
3189
inline constexpr bool output_range =
3190
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3191
3192
namespace detail {
3193
struct input_range_concept {
3194
    template <typename>
3195
    static auto test(long) -> std::false_type;
3196
3197
    template <typename T>
3198
    static auto test(int)
3199
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3200
                            std::true_type>;
3201
};
3202
}  // namespace detail
3203
3204
template <typename T>
3205
inline constexpr bool input_range =
3206
    decltype(detail::input_range_concept::test<T>(0))::value;
3207
3208
namespace detail {
3209
struct forward_range_concept {
3210
    template <typename>
3211
    static auto test(long) -> std::false_type;
3212
3213
    template <typename T>
3214
    static auto test(int)
3215
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3216
                            std::true_type>;
3217
};
3218
}  // namespace detail
3219
3220
template <typename T>
3221
inline constexpr bool forward_range =
3222
    decltype(detail::forward_range_concept::test<T>(0))::value;
3223
3224
namespace detail {
3225
struct bidirectional_range_concept {
3226
    template <typename>
3227
    static auto test(long) -> std::false_type;
3228
3229
    template <typename T>
3230
    static auto test(int)
3231
        -> std::enable_if_t<forward_range<T> &&
3232
                                bidirectional_iterator<iterator_t<T>>,
3233
                            std::true_type>;
3234
};
3235
}  // namespace detail
3236
3237
template <typename T>
3238
inline constexpr bool bidirectional_range =
3239
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3240
3241
namespace detail {
3242
struct random_access_range_concept {
3243
    template <typename>
3244
    static auto test(long) -> std::false_type;
3245
3246
    template <typename T>
3247
    static auto test(int)
3248
        -> std::enable_if_t<bidirectional_range<T> &&
3249
                                random_access_iterator<iterator_t<T>>,
3250
                            std::true_type>;
3251
};
3252
}  // namespace detail
3253
3254
template <typename T>
3255
inline constexpr bool random_access_range =
3256
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3257
3258
namespace detail {
3259
// FIXME: Not to spec
3260
// We only require random_access_iterator, not contiguous_iterator
3261
// This is so that vector::iterator, string::iterator etc can model
3262
// contiguous_range.
3263
// If we do range-v3-style deep integration with iterator_traits then
3264
// this could be fixed
3265
struct contiguous_range_concept {
3266
    template <typename>
3267
    static auto test(long) -> std::false_type;
3268
3269
    template <typename T>
3270
    static auto test(int) -> std::enable_if_t<
3271
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3272
                                   * &&
3273
                                   */
3274
            detail::requires_<contiguous_range_concept, T>,
3275
        std::true_type>;
3276
3277
    template <typename T>
3278
    auto requires_(T& t)
3279
        -> decltype(requires_expr<std::is_same_v<
3280
                        decltype(ranges::data(t)),
3281
                        std::add_pointer_t<range_reference_t<T>>>>{});
3282
};
3283
}  // namespace detail
3284
3285
template <typename R>
3286
inline constexpr bool contiguous_range =
3287
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3288
3289
namespace detail {
3290
struct common_range_concept {
3291
    template <typename>
3292
    static auto test(long) -> std::false_type;
3293
3294
    template <typename T>
3295
    static auto test(int)
3296
        -> std::enable_if_t<range<T> &&
3297
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3298
                            std::true_type>;
3299
};
3300
}  // namespace detail
3301
3302
template <typename T>
3303
inline constexpr bool common_range =
3304
    decltype(detail::common_range_concept::test<T>(0))::value;
3305
3306
/**
3307
 * \see `std::ranges::dangling`
3308
 */
3309
struct dangling {
3310
    constexpr dangling() noexcept = default;
3311
3312
    template <typename... Args>
3313
    constexpr dangling(Args&&...) noexcept
3314
    {
3315
    }
3316
};
3317
3318
/**
3319
 * \see `std::ranges::borrowed_iterator_t`
3320
 */
3321
template <typename R>
3322
using borrowed_iterator_t =
3323
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3324
3325
template <typename D>
3326
class view_interface {
3327
    static_assert(std::is_class<D>::value, "");
3328
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3329
3330
private:
3331
    constexpr D& derived() noexcept
3332
2.19M
    {
3333
2.19M
        return static_cast<D&>(*this);
3334
2.19M
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3332
1.76M
    {
3333
1.76M
        return static_cast<D&>(*this);
3334
1.76M
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3332
425k
    {
3333
425k
        return static_cast<D&>(*this);
3334
425k
    }
3335
3336
    constexpr const D& derived() const noexcept
3337
635k
    {
3338
635k
        return static_cast<const D&>(*this);
3339
635k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3337
450k
    {
3338
450k
        return static_cast<const D&>(*this);
3339
450k
    }
scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3337
184k
    {
3338
184k
        return static_cast<const D&>(*this);
3339
184k
    }
3340
3341
public:
3342
    template <typename R = D>
3343
    [[nodiscard]] constexpr auto empty()
3344
        -> std::enable_if_t<forward_range<R>, bool>
3345
    {
3346
        return ranges::begin(derived()) == ranges::end(derived());
3347
    }
3348
3349
    template <typename R = D>
3350
    [[nodiscard]] constexpr auto empty() const
3351
        -> std::enable_if_t<forward_range<const R>, bool>
3352
    {
3353
        return ranges::begin(derived()) == ranges::end(derived());
3354
    }
3355
3356
    template <typename R = D,
3357
              typename = decltype(ranges::empty(std::declval<R&>()))>
3358
    constexpr explicit operator bool()
3359
    {
3360
        return !ranges::empty(derived());
3361
    }
3362
3363
    template <typename R = D,
3364
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3365
    constexpr explicit operator bool() const
3366
    {
3367
        return !ranges::empty(derived());
3368
    }
3369
3370
    template <typename R = D,
3371
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3372
    constexpr auto data()
3373
2.19M
    {
3374
2.19M
        return detail::to_address(ranges::begin(derived()));
3375
2.19M
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3373
1.76M
    {
3374
1.76M
        return detail::to_address(ranges::begin(derived()));
3375
1.76M
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3373
425k
    {
3374
425k
        return detail::to_address(ranges::begin(derived()));
3375
425k
    }
3376
3377
    template <typename R = D,
3378
              typename = std::enable_if_t<
3379
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3380
    constexpr auto data() const
3381
635k
    {
3382
635k
        return detail::to_address(ranges::begin(derived()));
3383
635k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3381
450k
    {
3382
450k
        return detail::to_address(ranges::begin(derived()));
3383
450k
    }
auto scn::v4::ranges::view_interface<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3381
184k
    {
3382
184k
        return detail::to_address(ranges::begin(derived()));
3383
184k
    }
3384
3385
    template <typename R = D,
3386
              typename = std::enable_if_t<
3387
                  forward_range<R> &&
3388
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3389
    constexpr auto size()
3390
    {
3391
        return ranges::end(derived()) - ranges::begin(derived());
3392
    }
3393
3394
    template <typename R = D,
3395
              typename = std::enable_if_t<
3396
                  forward_range<const R> &&
3397
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3398
    constexpr auto size() const
3399
    {
3400
        return ranges::end(derived()) - ranges::begin(derived());
3401
    }
3402
3403
#if 0
3404
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3405
    constexpr decltype(auto) front()
3406
    {
3407
        return *ranges::begin(derived());
3408
    }
3409
3410
    template <typename R = D,
3411
              typename = std::enable_if_t<forward_range<const R>>>
3412
    constexpr decltype(auto) front() const
3413
    {
3414
        return *ranges::begin(derived());
3415
    }
3416
3417
    template <
3418
        typename R = D,
3419
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3420
    constexpr decltype(auto) back()
3421
    {
3422
        return *ranges::prev(ranges::end(derived()));
3423
    }
3424
3425
    template <typename R = D,
3426
              typename = std::enable_if_t<bidirectional_range<const R> &&
3427
                                          common_range<const R>>>
3428
    constexpr decltype(auto) back() const
3429
    {
3430
        return *ranges::prev(ranges::end(derived()));
3431
    }
3432
3433
    template <typename R = D,
3434
              typename = std::enable_if_t<random_access_range<R>>>
3435
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3436
    {
3437
        return ranges::begin(derived())[n];
3438
    }
3439
#endif
3440
3441
    template <typename R = D,
3442
              typename = std::enable_if_t<random_access_range<const R>>>
3443
    constexpr decltype(auto) operator[](
3444
        iter_difference_t<iterator_t<const R>> n) const
3445
    {
3446
        return ranges::begin(derived())[n];
3447
    }
3448
};
3449
3450
namespace detail::subrange_ {
3451
3452
template <typename I, typename S = I>
3453
class subrange : public view_interface<subrange<I, S>> {
3454
    static_assert(input_or_output_iterator<I>);
3455
    static_assert(sentinel_for<S, I>);
3456
3457
public:
3458
1.26M
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::subrange()
Line
Count
Source
3458
450k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::subrange()
Line
Count
Source
3458
449k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange()
Line
Count
Source
3458
184k
    subrange() = default;
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::subrange()
Line
Count
Source
3458
184k
    subrange() = default;
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::subrange()
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::subrange()
3459
3460
    template <typename I_,
3461
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3462
    constexpr subrange(I_ i, S s)
3463
11.3M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
11.3M
    {
3465
11.3M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS7_PKS8_lLl4096EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3463
812k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
812k
    {
3465
812k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS7_PKS8_lLl1024EEESC_EC2ISC_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_SC_EEvE4typeELPv0EEESG_SC_
Line
Count
Source
3463
196k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
196k
    {
3465
196k
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3463
3.44M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
3.44M
    {
3465
3.44M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESE_S9_
Line
Count
Source
3463
970k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
970k
    {
3465
970k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Line
Count
Source
3463
281k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
281k
    {
3465
281k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESN_SI_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS5_15take_width_viewINS4_ISB_SC_EEE8sentinelILb1EEEEENSE_ISG_E8sentinelILb1EEEEC2ISJ_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SJ_EEvE4typeELPv0EEESR_SM_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESD_EC2ISD_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SD_EEvE4typeELPv0EEESI_SD_
_ZN3scn2v46ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorES8_EC2IS8_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESD_S8_
Line
Count
Source
3463
2.75k
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
2.75k
    {
3465
2.75k
    }
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEC2ISA_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESN_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEE8sentinelILb1EEEEENSB_ISH_E8sentinelILb1EEEEC2ISK_TnPNSC_9enable_ifIXsr3stdE16is_convertible_vIT_SK_EEvE4typeELPv0EEESR_SN_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EESA_EC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESF_SA_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEC2ISA_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SA_EEvE4typeELPv0EEESK_SF_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKcS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS7_IPKwS9_EENS5_15take_width_viewINS4_IS9_S9_EEE8sentinelILb1EEEEENSB_ISD_E8sentinelILb1EEEEC2ISG_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_SG_EEvE4typeELPv0EEESO_SJ_
Unexecuted instantiation: _ZN3scn2v46ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEES8_EC2IS8_TnPNS5_9enable_ifIXsr3stdE16is_convertible_vIT_S8_EEvE4typeELPv0EEESC_S8_
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKcS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3463
4.15M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
4.15M
    {
3465
4.15M
    }
_ZN3scn2v46ranges6detail9subrange_8subrangeIPKwS6_EC2IS6_TnPNSt3__19enable_ifIXsr3stdE16is_convertible_vIT_S6_EEvE4typeELPv0EEESB_S6_
Line
Count
Source
3463
1.43M
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3464
1.43M
    {
3465
1.43M
    }
3466
3467
    template <
3468
        typename R,
3469
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3470
                         std::is_convertible_v<iterator_t<R>, I> &&
3471
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3472
    constexpr subrange(R&& r)
3473
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3474
    {
3475
    }
3476
3477
    constexpr I begin() const
3478
94.0M
    {
3479
94.0M
        return m_iterator;
3480
94.0M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3478
8.00M
    {
3479
8.00M
        return m_iterator;
3480
8.00M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3478
1.17M
    {
3479
1.17M
        return m_iterator;
3480
1.17M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3478
36.7M
    {
3479
36.7M
        return m_iterator;
3480
36.7M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3478
207k
    {
3479
207k
        return m_iterator;
3480
207k
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3478
10.5M
    {
3479
10.5M
        return m_iterator;
3480
10.5M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3478
36.6M
    {
3479
36.6M
        return m_iterator;
3480
36.6M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Line
Count
Source
3478
637k
    {
3479
637k
        return m_iterator;
3480
637k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Line
Count
Source
3478
6.83k
    {
3479
6.83k
        return m_iterator;
3480
6.83k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::begin() const
3481
    constexpr S end() const
3482
194M
    {
3483
194M
        return m_sentinel;
3484
194M
    }
scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3482
5.55M
    {
3483
5.55M
        return m_sentinel;
3484
5.55M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3482
7.05M
    {
3483
7.05M
        return m_sentinel;
3484
7.05M
    }
scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3482
35.6M
    {
3483
35.6M
        return m_sentinel;
3484
35.6M
    }
scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3482
102M
    {
3483
102M
        return m_sentinel;
3484
102M
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3482
7.52M
    {
3483
7.52M
        return m_sentinel;
3484
7.52M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Line
Count
Source
3482
637k
    {
3483
637k
        return m_sentinel;
3484
637k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>::end() const
Line
Count
Source
3482
35.4M
    {
3483
35.4M
        return m_sentinel;
3484
35.4M
    }
scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Line
Count
Source
3482
6.83k
    {
3483
6.83k
        return m_sentinel;
3484
6.83k
    }
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >::end() const
3485
3486
    SCN_NODISCARD constexpr bool empty() const
3487
    {
3488
        return m_iterator == m_sentinel;
3489
    }
3490
3491
    template <typename I_ = I,
3492
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3493
    constexpr std::size_t size() const
3494
2.42M
    {
3495
2.42M
        return static_cast<size_t>(m_sentinel - m_iterator);
3496
2.42M
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKcS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3494
1.87M
    {
3495
1.87M
        return static_cast<size_t>(m_sentinel - m_iterator);
3496
1.87M
    }
_ZNK3scn2v46ranges6detail9subrange_8subrangeIPKwS6_E4sizeIS6_TnPNSt3__19enable_ifIX18sized_sentinel_forIS6_T_EEvE4typeELPv0EEEmv
Line
Count
Source
3494
551k
    {
3495
551k
        return static_cast<size_t>(m_sentinel - m_iterator);
3496
551k
    }
3497
3498
private:
3499
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3500
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3501
};
3502
3503
template <typename I,
3504
          typename S,
3505
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3506
              nullptr>
3507
subrange(I, S) -> subrange<I, S>;
3508
3509
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3510
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3511
3512
}  // namespace detail::subrange_
3513
3514
/**
3515
 * \see `std::ranges::subrange`
3516
 */
3517
using detail::subrange_::subrange;
3518
3519
template <typename I, typename S>
3520
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3521
3522
struct default_sentinel_t {};
3523
inline constexpr default_sentinel_t default_sentinel{};
3524
3525
}  // namespace ranges
3526
3527
namespace detail {
3528
3529
namespace char_t_fn {
3530
template <typename T, typename = typename T::value_type>
3531
constexpr auto impl_nonarray(priority_tag<2>)
3532
0
{
3533
0
    return tag_type<typename T::value_type>{};
3534
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v4::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(scn::v4::detail::priority_tag<2ul>)
3535
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3536
constexpr auto impl_nonarray(priority_tag<1>)
3537
0
{
3538
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3539
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl_nonarray<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v4::detail::priority_tag<1ul>)
3540
template <typename T>
3541
constexpr auto impl_nonarray(priority_tag<0>)
3542
{
3543
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3544
}
3545
3546
template <typename T,
3547
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3548
constexpr auto impl()
3549
0
{
3550
0
    using T_nocvref = remove_cvref_t<T>;
3551
0
    if constexpr (std::is_array_v<T_nocvref>) {
3552
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3553
0
    }
3554
0
    else {
3555
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3556
0
    }
3557
0
}
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<scn::v4::ranges::detail::subrange_::subrange<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v4::impl::take_width_view<scn::v4::impl::take_width_view<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>()
Unexecuted instantiation: auto scn::v4::detail::char_t_fn::impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, void>()
3558
3559
template <typename Range>
3560
using result = decltype(impl<Range>());
3561
}  // namespace char_t_fn
3562
3563
template <typename Range>
3564
using char_t = typename char_t_fn::result<Range>::type;
3565
3566
template <typename Range, typename = void>
3567
inline constexpr bool is_file_or_narrow_range_impl = false;
3568
template <>
3569
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3570
template <typename Range>
3571
inline constexpr bool
3572
    is_file_or_narrow_range_impl<Range,
3573
                                 std::enable_if_t<ranges::range<Range>>> =
3574
        std::is_same_v<char_t<Range>, char>;
3575
3576
template <typename Range>
3577
inline constexpr bool is_file_or_narrow_range =
3578
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3579
3580
template <typename Range, typename = void>
3581
inline constexpr bool is_wide_range = false;
3582
template <typename Range>
3583
inline constexpr bool
3584
    is_wide_range<Range,
3585
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3586
        std::is_same_v<char_t<Range>, wchar_t>;
3587
3588
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3589
struct borrowed_tail_subrange {
3590
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3591
};
3592
template <typename R>
3593
struct borrowed_tail_subrange<R, false> {
3594
    using type = ranges::dangling;
3595
};
3596
3597
/// Equivalent to
3598
/// `ranges::subrange<ranges::iterator_t<R>,
3599
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3600
/// `ranges::dangling` otherwise.
3601
///
3602
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3603
/// the range sentinel.
3604
template <typename R>
3605
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3606
3607
}  // namespace detail
3608
3609
namespace ranges {
3610
template <typename CharT, typename Traits>
3611
inline constexpr bool
3612
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3613
}
3614
3615
/////////////////////////////////////////////////////////////////
3616
// Small generic algorithms
3617
/////////////////////////////////////////////////////////////////
3618
3619
namespace detail {
3620
3621
/**
3622
 * Implementation of `std::min_element` without including `<algorithm>`
3623
 */
3624
template <typename It>
3625
constexpr It min_element(It first, It last)
3626
{
3627
    if (first == last) {
3628
        return last;
3629
    }
3630
3631
    It smallest = first;
3632
    ++first;
3633
    for (; first != last; ++first) {
3634
        if (*first < *smallest) {
3635
            smallest = first;
3636
        }
3637
    }
3638
    return smallest;
3639
}
3640
3641
/**
3642
 * Implementation of `std::min` without including `<algorithm>`
3643
 */
3644
template <typename T>
3645
constexpr T min(T a, T b) noexcept
3646
{
3647
    return (b < a) ? b : a;
3648
}
3649
3650
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3651
constexpr Ptr find(Ptr first, Ptr last, T value)
3652
{
3653
    for (; first != last; ++first) {
3654
        if (*first == value) {
3655
            return first;
3656
        }
3657
    }
3658
    return last;
3659
}
3660
3661
template <>
3662
inline const char* find<false, char>(const char* first,
3663
                                     const char* last,
3664
                                     char value)
3665
0
{
3666
0
    auto ptr = static_cast<const char*>(
3667
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3668
0
    return ptr != nullptr ? ptr : last;
3669
0
}
3670
3671
}  // namespace detail
3672
3673
/////////////////////////////////////////////////////////////////
3674
// Errors
3675
/////////////////////////////////////////////////////////////////
3676
3677
/**
3678
 * Error class.
3679
 * Used as a return value for functions without a success value.
3680
 * Doesn't have a success state, and isn't default constructible:
3681
 * use `expected<void, scan_error>` to achieve that.
3682
 *
3683
 * \ingroup result
3684
 */
3685
class SCN_TRIVIAL_ABI scan_error {
3686
public:
3687
    /// Error code
3688
    enum code {
3689
        /// Input ended unexpectedly.
3690
        end_of_input,
3691
3692
        /// Format string was invalid.
3693
        /// Often a compile-time error, if supported or enabled.
3694
        invalid_format_string,
3695
3696
        /// Scanned value was invalid for given type,
3697
        /// or a value of the given couldn't be scanned.
3698
        invalid_scanned_value,
3699
3700
        /// Literal character specified in format string not found in source.
3701
        invalid_literal,
3702
3703
        /// Too many fill characters scanned,
3704
        /// field precision (max width) exceeded.
3705
        invalid_fill,
3706
3707
        /// Scanned field width was shorter than
3708
        /// what was specified as the minimum field width.
3709
        length_too_short,
3710
3711
        /// Source range is in an invalid state,
3712
        /// failed to continue reading.
3713
        invalid_source_state,
3714
3715
        /// Value out of range, too large (higher than the maximum value)
3716
        /// i.e. >2^32 for int32
3717
        value_positive_overflow,
3718
3719
        /// Value out of range, too small (lower than the minimum value)
3720
        /// i.e. <2^32 for int32
3721
        value_negative_overflow,
3722
3723
        /// Value out of range, magnitude too small, sign +
3724
        /// (between 0 and the smallest subnormal float)
3725
        value_positive_underflow,
3726
3727
        /// Value out of range, magnitude too small, sign -
3728
        /// (between 0 and the smallest subnormal float)
3729
        value_negative_underflow,
3730
3731
        max_error
3732
    };
3733
3734
private:
3735
    using code_t = code;
3736
3737
public:
3738
    /// Constructs an error with `c` and `m`
3739
718k
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3740
718k
    {
3741
718k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3742
718k
    }
3743
3744
    constexpr explicit operator code_t() const noexcept
3745
0
    {
3746
0
        return m_code;
3747
0
    }
3748
3749
    /// Get error code
3750
    SCN_NODISCARD constexpr code_t code() const noexcept
3751
0
    {
3752
0
        return m_code;
3753
0
    }
3754
    /// Get error message
3755
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3756
0
    {
3757
0
        return m_msg;
3758
0
    }
3759
3760
    /// Convert to a `std::errc`.
3761
    SCN_NODISCARD constexpr std::errc to_errc() const noexcept
3762
0
    {
3763
0
        switch (m_code) {
3764
0
            case end_of_input:
3765
0
            case invalid_format_string:
3766
0
            case invalid_scanned_value:
3767
0
            case invalid_literal:
3768
0
            case invalid_fill:
3769
0
            case length_too_short:
3770
0
                return std::errc::invalid_argument;
3771
0
            case invalid_source_state:
3772
0
                return std::errc::io_error;
3773
0
            case value_positive_overflow:
3774
0
            case value_negative_overflow:
3775
0
            case value_positive_underflow:
3776
0
            case value_negative_underflow:
3777
0
                return std::errc::result_out_of_range;
3778
0
            case max_error:
3779
0
            default:
3780
0
                assert(false);
3781
0
                SCN_UNREACHABLE;
3782
0
        }
3783
0
    }
3784
3785
private:
3786
    const char* m_msg;
3787
    code_t m_code;
3788
};
3789
3790
constexpr bool operator==(scan_error a, scan_error b) noexcept
3791
0
{
3792
0
    return a.code() == b.code();
3793
0
}
3794
constexpr bool operator!=(scan_error a, scan_error b) noexcept
3795
0
{
3796
0
    return !(a == b);
3797
0
}
3798
3799
constexpr bool operator==(scan_error a, enum scan_error::code b) noexcept
3800
0
{
3801
0
    return a.code() == b;
3802
0
}
3803
constexpr bool operator!=(scan_error a, enum scan_error::code b) noexcept
3804
0
{
3805
0
    return !(a == b);
3806
0
}
3807
3808
constexpr bool operator==(enum scan_error::code a, scan_error b) noexcept
3809
0
{
3810
0
    return a == b.code();
3811
0
}
3812
constexpr bool operator!=(enum scan_error::code a, scan_error b) noexcept
3813
0
{
3814
0
    return !(a == b);
3815
0
}
3816
3817
namespace detail {
3818
// Intentionally not constexpr, to give out a compile-time error
3819
SCN_COLD scan_error handle_error(scan_error e);
3820
}  // namespace detail
3821
3822
#if SCN_HAS_EXCEPTIONS
3823
3824
namespace detail {
3825
3826
class scan_format_string_error_base : public std::runtime_error {
3827
public:
3828
    explicit scan_format_string_error_base(const std::string& what_arg)
3829
        : runtime_error(what_arg)
3830
0
    {
3831
0
    }
3832
3833
    explicit scan_format_string_error_base(std::false_type,
3834
                                           const char* what_arg)
3835
        : runtime_error(what_arg)
3836
0
    {
3837
0
    }
3838
3839
    explicit scan_format_string_error_base(std::true_type, const char* what_arg)
3840
        : runtime_error(what_arg), m_internal_literal_msg(what_arg)
3841
0
    {
3842
0
    }
3843
3844
    // Doing everything in a `detail::` base class
3845
    // to make this a `friend` inside that namespace
3846
    // (essentially private)
3847
    friend const char* get_internal_literal_msg(
3848
        const scan_format_string_error_base& m)
3849
0
    {
3850
0
        return m.m_internal_literal_msg;
3851
0
    }
3852
3853
private:
3854
    const char* m_internal_literal_msg{nullptr};
3855
};
3856
3857
}  // namespace detail
3858
3859
/**
3860
 * An exception type used to report format string parsing errors.
3861
 */
3862
class scan_format_string_error : public detail::scan_format_string_error_base {
3863
public:
3864
    // Not `using` constructors to document them explicitly.
3865
3866
    /**
3867
     * Construct from a `std::string`.
3868
     */
3869
    explicit scan_format_string_error(const std::string& what_arg)
3870
        : scan_format_string_error_base(what_arg)
3871
0
    {
3872
0
    }
3873
3874
    /**
3875
     * Construct from a `const char*`.
3876
     */
3877
    explicit scan_format_string_error(const char* what_arg)
3878
        : scan_format_string_error_base(std::false_type{}, what_arg)
3879
0
    {
3880
0
    }
3881
3882
    /**
3883
     * Construct from a string literal.
3884
     */
3885
    template <std::size_t N>
3886
    explicit scan_format_string_error(const char (&what_arg)[N])
3887
        : scan_format_string_error_base(std::true_type{}, what_arg)
3888
    {
3889
    }
3890
};
3891
#endif
3892
3893
/**
3894
 * An `expected<T, scan_error>`.
3895
 *
3896
 * Not a type alias to shorten template names.
3897
 *
3898
 * \ingroup result
3899
 */
3900
template <typename T>
3901
struct scan_expected : public expected<T, scan_error> {
3902
    using expected<T, scan_error>::expected;
3903
3904
    scan_expected(const expected<T, scan_error>& other)
3905
        : expected<T, scan_error>(other)
3906
    {
3907
    }
3908
    scan_expected(expected<T, scan_error>&& other)
3909
417k
        : expected<T, scan_error>(SCN_MOVE(other))
3910
417k
    {
3911
417k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<char const*>::scan_expected(scn::v4::expected<char const*, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3909
309k
        : expected<T, scan_error>(SCN_MOVE(other))
3910
309k
    {
3911
309k
    }
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v4::expected<scn::v4::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v4::scan_error>&&)
Unexecuted instantiation: scn::v4::scan_expected<wchar_t const*>::scan_expected(scn::v4::expected<wchar_t const*, scn::v4::scan_error>&&)
scn::v4::scan_expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v4::expected<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::scan_error>&&)
Line
Count
Source
3909
107k
        : expected<T, scan_error>(SCN_MOVE(other))
3910
107k
    {
3911
107k
    }
3912
};
3913
3914
namespace detail {
3915
constexpr auto unexpected_scan_error(enum scan_error::code c, const char* m)
3916
592k
{
3917
592k
    return unexpected(scan_error{c, m});
3918
592k
}
3919
3920
template <typename T>
3921
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3922
}  // namespace detail
3923
3924
774k
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3925
774k
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3926
774k
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3927
3928
#define SCN_TRY_DISCARD(x)                                      \
3929
1.46M
    if (auto&& SCN_TRY_TMP = (x); SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3930
0
        return ::scn::unexpected(SCN_TRY_TMP.error());          \
3931
0
    }
3932
3933
#define SCN_TRY_ASSIGN(init, x)                        \
3934
9.14M
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v44impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3935
9.14M
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3936
774k
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3937
774k
    }                                                  \
3938
9.14M
    init = *SCN_FWD(SCN_TRY_TMP);
3939
8.28M
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3940
3941
/////////////////////////////////////////////////////////////////
3942
// string_view utilities
3943
/////////////////////////////////////////////////////////////////
3944
3945
namespace detail {
3946
3947
template <typename T>
3948
struct is_string_view : std::false_type {};
3949
template <typename CharT, typename Traits>
3950
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3951
};
3952
3953
// workarounds for MSVC string_view debug iterators
3954
template <typename CharT>
3955
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3956
    typename std::basic_string_view<CharT>::iterator first,
3957
    typename std::basic_string_view<CharT>::iterator last)
3958
593k
{
3959
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3960
                                          decltype(first), decltype(last)> &&
3961
                  !SCN_MSVC_DEBUG_ITERATORS) {
3962
        return {first, last};
3963
    }
3964
593k
    else {
3965
593k
        return {to_address(first), static_cast<size_t>(std::distance(
3966
593k
                                       to_address(first), to_address(last)))};
3967
593k
    }
3968
593k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3958
593k
{
3959
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3960
                                          decltype(first), decltype(last)> &&
3961
                  !SCN_MSVC_DEBUG_ITERATORS) {
3962
        return {first, last};
3963
    }
3964
593k
    else {
3965
593k
        return {to_address(first), static_cast<size_t>(std::distance(
3966
593k
                                       to_address(first), to_address(last)))};
3967
593k
    }
3968
593k
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
3969
3970
template <typename CharT>
3971
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3972
    const CharT* first,
3973
    const CharT* last)
3974
597k
{
3975
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3976
                                          const CharT*, const CharT*>) {
3977
        return {first, last};
3978
    }
3979
597k
    else {
3980
597k
        return {first, static_cast<size_t>(std::distance(first, last))};
3981
597k
    }
3982
597k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3974
592k
{
3975
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3976
                                          const CharT*, const CharT*>) {
3977
        return {first, last};
3978
    }
3979
592k
    else {
3980
592k
        return {first, static_cast<size_t>(std::distance(first, last))};
3981
592k
    }
3982
592k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3974
5.47k
{
3975
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3976
                                          const CharT*, const CharT*>) {
3977
        return {first, last};
3978
    }
3979
5.47k
    else {
3980
5.47k
        return {first, static_cast<size_t>(std::distance(first, last))};
3981
5.47k
    }
3982
5.47k
}
3983
3984
template <typename CharT>
3985
constexpr auto make_string_view_iterator(
3986
    std::basic_string_view<CharT> sv,
3987
    typename std::basic_string_view<CharT>::iterator it) ->
3988
    typename std::basic_string_view<CharT>::iterator
3989
1.37M
{
3990
    if constexpr (std::is_constructible_v<
3991
                      typename std::basic_string_view<CharT>::iterator,
3992
                      decltype(it)> &&
3993
1.37M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3994
1.37M
        SCN_UNUSED(sv);
3995
1.37M
        return it;
3996
    }
3997
    else {
3998
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3999
    }
4000
1.37M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v4::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3989
1.37M
{
3990
    if constexpr (std::is_constructible_v<
3991
                      typename std::basic_string_view<CharT>::iterator,
3992
                      decltype(it)> &&
3993
1.37M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3994
1.37M
        SCN_UNUSED(sv);
3995
1.37M
        return it;
3996
    }
3997
    else {
3998
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3999
    }
4000
1.37M
}
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v4::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
4001
4002
template <typename CharT>
4003
constexpr auto make_string_view_iterator_from_pointer(
4004
    std::basic_string_view<CharT> sv,
4005
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
4006
{
4007
    if constexpr (std::is_constructible_v<
4008
                      typename std::basic_string_view<CharT>::iterator,
4009
                      const CharT*> &&
4010
                  !SCN_MSVC_DEBUG_ITERATORS) {
4011
        SCN_UNUSED(sv);
4012
        return ptr;
4013
    }
4014
    else {
4015
        return sv.begin() + std::distance(sv.data(), ptr);
4016
    }
4017
}
4018
4019
/////////////////////////////////////////////////////////////////
4020
// Lightweight Unicode facilities
4021
/////////////////////////////////////////////////////////////////
4022
4023
constexpr inline bool is_ascii_code_point(char32_t cp)
4024
0
{
4025
0
    return cp <= 0x7f;
4026
0
}
4027
4028
template <typename U8>
4029
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
4030
862k
{
4031
862k
    static_assert(sizeof(U8) == 1);
4032
4033
862k
    SCN_GCC_COMPAT_PUSH
4034
862k
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
4035
862k
    constexpr char lengths[] =
4036
862k
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
4037
862k
        "\1\1\1\1\1\1\1\1"
4038
862k
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
4039
                            // byte
4040
862k
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
4041
862k
        "\3\3"              // highest bits 1110 -> 3-byte cp
4042
862k
        "\4";               // highest bits 11110 -> 4-byte cp
4043
862k
    return lengths[static_cast<unsigned char>(ch) >> 3];
4044
862k
    SCN_GCC_COMPAT_POP
4045
862k
}
4046
4047
template <typename U16>
4048
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
4049
{
4050
    static_assert(sizeof(U16) == 2);
4051
4052
    const auto lead = static_cast<uint16_t>(0xffff & ch);
4053
    if (lead >= 0xd800 && lead <= 0xdbff) {
4054
        // high surrogate
4055
        return 2;
4056
    }
4057
    if (lead >= 0xdc00 && lead <= 0xdfff) {
4058
        // unpaired low surrogate
4059
        return 0;
4060
    }
4061
    return 1;
4062
}
4063
4064
template <typename U>
4065
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
4066
1.13M
{
4067
1.13M
    if constexpr (sizeof(U) == 1) {
4068
862k
        return utf8_code_point_length_by_starting_code_unit(ch);
4069
    }
4070
    else if constexpr (sizeof(U) == 2) {
4071
        return utf16_code_point_length_by_starting_code_unit(ch);
4072
    }
4073
271k
    else {
4074
        // utf-32
4075
271k
        static_assert(sizeof(U) == 4);
4076
271k
        SCN_UNUSED(ch);
4077
271k
        return 1;
4078
271k
    }
4079
1.13M
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
4066
862k
{
4067
862k
    if constexpr (sizeof(U) == 1) {
4068
862k
        return utf8_code_point_length_by_starting_code_unit(ch);
4069
    }
4070
    else if constexpr (sizeof(U) == 2) {
4071
        return utf16_code_point_length_by_starting_code_unit(ch);
4072
    }
4073
    else {
4074
        // utf-32
4075
        static_assert(sizeof(U) == 4);
4076
        SCN_UNUSED(ch);
4077
        return 1;
4078
    }
4079
862k
}
unsigned long scn::v4::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
4066
271k
{
4067
    if constexpr (sizeof(U) == 1) {
4068
        return utf8_code_point_length_by_starting_code_unit(ch);
4069
    }
4070
    else if constexpr (sizeof(U) == 2) {
4071
        return utf16_code_point_length_by_starting_code_unit(ch);
4072
    }
4073
271k
    else {
4074
        // utf-32
4075
271k
        static_assert(sizeof(U) == 4);
4076
271k
        SCN_UNUSED(ch);
4077
271k
        return 1;
4078
271k
    }
4079
271k
}
4080
4081
inline constexpr char32_t invalid_code_point = 0x110000;
4082
4083
inline constexpr char32_t decode_utf8_code_point_exhaustive(
4084
    std::string_view input)
4085
845k
{
4086
845k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4087
4088
845k
    const auto is_trailing_code_unit = [](char ch) {
4089
13.0k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4090
13.0k
    };
4091
4092
845k
    if (input.size() == 1) {
4093
836k
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
4094
1.01k
            SCN_UNLIKELY_ATTR
4095
1.01k
            return invalid_code_point;
4096
1.01k
        }
4097
835k
        return static_cast<char32_t>(input[0]);
4098
836k
    }
4099
4100
8.97k
    if (input.size() == 2) {
4101
3.65k
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
4102
44
            SCN_UNLIKELY_ATTR
4103
44
            return invalid_code_point;
4104
44
        }
4105
3.61k
        if (!is_trailing_code_unit(input[1])) {
4106
830
            SCN_UNLIKELY_ATTR
4107
830
            return invalid_code_point;
4108
830
        }
4109
4110
2.78k
        char32_t cp{};
4111
2.78k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4112
2.78k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4113
2.78k
        return cp;
4114
3.61k
    }
4115
4116
5.31k
    if (input.size() == 3) {
4117
4.14k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
4118
53
            SCN_UNLIKELY_ATTR
4119
53
            return invalid_code_point;
4120
53
        }
4121
4.08k
        if (!is_trailing_code_unit(input[1]) ||
4122
4.08k
            !is_trailing_code_unit(input[2])) {
4123
873
            SCN_UNLIKELY_ATTR
4124
873
            return invalid_code_point;
4125
873
        }
4126
4127
3.21k
        char32_t cp{};
4128
3.21k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4129
3.21k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4130
3.21k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4131
3.21k
        return cp;
4132
4.08k
    }
4133
4134
1.17k
    if (input.size() == 4) {
4135
1.17k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
4136
0
            SCN_UNLIKELY_ATTR
4137
0
            return invalid_code_point;
4138
0
        }
4139
1.17k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
4140
275
            SCN_UNLIKELY_ATTR
4141
275
            return invalid_code_point;
4142
275
        }
4143
901
        if (!is_trailing_code_unit(input[1]) ||
4144
901
            !is_trailing_code_unit(input[2]) ||
4145
901
            !is_trailing_code_unit(input[3])) {
4146
414
            SCN_UNLIKELY_ATTR
4147
414
            return invalid_code_point;
4148
414
        }
4149
4150
487
        char32_t cp{};
4151
487
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4152
487
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4153
487
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4154
487
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4155
487
        return cp;
4156
901
    }
4157
4158
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4159
    // gcc 7 thinks we'll get here, even when we won't
4160
0
    SCN_EXPECT(false);
4161
0
#endif
4162
0
    SCN_UNREACHABLE;
4163
0
}
4164
4165
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
4166
    std::string_view input)
4167
0
{
4168
0
    SCN_EXPECT(!input.empty() && input.size() <= 4);
4169
4170
0
    const auto is_trailing_code_unit = [](char ch) {
4171
0
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
4172
0
    };
4173
4174
0
    if (input.size() == 1) {
4175
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
4176
0
        return static_cast<char32_t>(input[0]);
4177
0
    }
4178
4179
0
    if (input.size() == 2) {
4180
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
4181
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4182
4183
0
        char32_t cp{};
4184
0
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
4185
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
4186
0
        return cp;
4187
0
    }
4188
4189
0
    if (input.size() == 3) {
4190
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
4191
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4192
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4193
4194
0
        char32_t cp{};
4195
0
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
4196
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
4197
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
4198
0
        return cp;
4199
0
    }
4200
4201
0
    if (input.size() == 4) {
4202
0
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
4203
0
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
4204
0
        SCN_EXPECT(is_trailing_code_unit(input[1]));
4205
0
        SCN_EXPECT(is_trailing_code_unit(input[2]));
4206
0
        SCN_EXPECT(is_trailing_code_unit(input[3]));
4207
4208
0
        char32_t cp{};
4209
0
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
4210
0
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
4211
0
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
4212
0
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
4213
0
        return cp;
4214
0
    }
4215
4216
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
4217
    // gcc 7 thinks we'll get here, even when we won't
4218
0
    SCN_EXPECT(false);
4219
0
#endif
4220
0
    SCN_UNREACHABLE;
4221
0
}
4222
4223
template <typename CharT>
4224
inline constexpr char32_t decode_utf16_code_point_exhaustive(
4225
    std::basic_string_view<CharT> input)
4226
{
4227
    static_assert(sizeof(CharT) == 2);
4228
4229
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4230
4231
    if (input.size() == 1) {
4232
        return static_cast<char32_t>(input[0]);
4233
    }
4234
4235
    const auto lead = static_cast<uint32_t>(input[0]);
4236
    const auto trail = static_cast<uint32_t>(input[1]);
4237
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
4238
        SCN_UNLIKELY_ATTR
4239
        return invalid_code_point;
4240
    }
4241
4242
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4243
    return static_cast<char32_t>(cp + 0x10000);
4244
}
4245
4246
template <typename CharT>
4247
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
4248
    std::basic_string_view<CharT> input)
4249
{
4250
    static_assert(sizeof(CharT) == 2);
4251
4252
    SCN_EXPECT(!input.empty() && input.size() <= 2);
4253
4254
    if (input.size() == 1) {
4255
        return static_cast<char32_t>(input[0]);
4256
    }
4257
4258
    const auto lead = static_cast<uint32_t>(input[0]);
4259
    const auto trail = static_cast<uint32_t>(input[1]);
4260
    SCN_EXPECT(lead >= 0xd800);
4261
    SCN_EXPECT(lead <= 0xdbff);
4262
    SCN_EXPECT(trail >= 0xdc00);
4263
    SCN_EXPECT(trail <= 0xdfff);
4264
4265
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4266
    return static_cast<char32_t>(cp + 0x10000);
4267
}
4268
4269
template <typename CharT>
4270
inline constexpr char32_t decode_code_point_exhaustive(
4271
    std::basic_string_view<CharT> input)
4272
1.11M
{
4273
1.11M
    if constexpr (sizeof(CharT) == 1) {
4274
845k
        return decode_utf8_code_point_exhaustive(input);
4275
    }
4276
    else if constexpr (sizeof(CharT) == 2) {
4277
        return decode_utf16_code_point_exhaustive(input);
4278
    }
4279
271k
    else {
4280
271k
        SCN_EXPECT(input.size() == 1);
4281
271k
        auto cp = static_cast<char32_t>(input.front());
4282
271k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4283
105k
            return invalid_code_point;
4284
105k
        }
4285
166k
        return cp;
4286
271k
    }
4287
1.11M
}
char32_t scn::v4::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4272
845k
{
4273
845k
    if constexpr (sizeof(CharT) == 1) {
4274
845k
        return decode_utf8_code_point_exhaustive(input);
4275
    }
4276
    else if constexpr (sizeof(CharT) == 2) {
4277
        return decode_utf16_code_point_exhaustive(input);
4278
    }
4279
    else {
4280
        SCN_EXPECT(input.size() == 1);
4281
        auto cp = static_cast<char32_t>(input.front());
4282
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4283
            return invalid_code_point;
4284
        }
4285
        return cp;
4286
    }
4287
845k
}
char32_t scn::v4::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4272
271k
{
4273
    if constexpr (sizeof(CharT) == 1) {
4274
        return decode_utf8_code_point_exhaustive(input);
4275
    }
4276
    else if constexpr (sizeof(CharT) == 2) {
4277
        return decode_utf16_code_point_exhaustive(input);
4278
    }
4279
271k
    else {
4280
271k
        SCN_EXPECT(input.size() == 1);
4281
271k
        auto cp = static_cast<char32_t>(input.front());
4282
271k
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4283
105k
            return invalid_code_point;
4284
105k
        }
4285
166k
        return cp;
4286
271k
    }
4287
271k
}
4288
4289
template <typename CharT>
4290
inline constexpr char32_t decode_code_point_exhaustive_valid(
4291
    std::basic_string_view<CharT> input)
4292
0
{
4293
0
    if constexpr (sizeof(CharT) == 1) {
4294
0
        return decode_utf8_code_point_exhaustive_valid(input);
4295
    }
4296
    else if constexpr (sizeof(CharT) == 2) {
4297
        return decode_utf16_code_point_exhaustive_valid(input);
4298
    }
4299
0
    else {
4300
0
        SCN_EXPECT(input.size() == 1);
4301
0
        return static_cast<char32_t>(input.front());
4302
0
    }
4303
0
}
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: char32_t scn::v4::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4304
4305
inline constexpr bool is_cp_space(char32_t cp) noexcept
4306
1.07M
{
4307
    // Pattern_White_Space property
4308
1.07M
    return (cp >= 0x09 && cp <= 0x0d) ||
4309
1.07M
           cp == 0x20 ||    // ASCII space characters
4310
1.07M
           cp == 0x85 ||    // NEXT LINE (NEL)
4311
1.07M
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
4312
1.07M
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
4313
1.07M
           cp == 0x2028 ||  // LINE SEPARATOR
4314
1.07M
           cp == 0x2029;    // PARAGRAPH SEPARATOR
4315
1.07M
}
4316
4317
}  // namespace detail
4318
4319
/////////////////////////////////////////////////////////////////
4320
// scan_buffer
4321
/////////////////////////////////////////////////////////////////
4322
4323
namespace detail {
4324
template <typename CharT>
4325
class basic_scan_buffer {
4326
public:
4327
    class forward_iterator;
4328
    class common_forward_iterator;
4329
4330
    using char_type = CharT;
4331
    using range_type =
4332
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4333
    using common_range_type = ranges::subrange<common_forward_iterator>;
4334
4335
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4336
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4337
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4338
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4339
634k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4339
449k
    virtual ~basic_scan_buffer() = default;
scn::v4::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4339
184k
    virtual ~basic_scan_buffer() = default;
4340
4341
    virtual bool fill() = 0;
4342
4343
    virtual bool sync(std::ptrdiff_t position)
4344
634k
    {
4345
634k
        SCN_UNUSED(position);
4346
634k
        return true;
4347
634k
    }
scn::v4::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4344
449k
    {
4345
449k
        SCN_UNUSED(position);
4346
449k
        return true;
4347
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4344
184k
    {
4345
184k
        SCN_UNUSED(position);
4346
184k
        return true;
4347
184k
    }
4348
4349
    bool sync_all()
4350
260k
    {
4351
260k
        return sync(0);
4352
260k
    }
scn::v4::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4350
86.6k
    {
4351
86.6k
        return sync(0);
4352
86.6k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4350
173k
    {
4351
173k
        return sync(0);
4352
173k
    }
4353
4354
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4355
69.5G
    {
4356
69.5G
        return m_putback_buffer.size() + m_current_view.size();
4357
69.5G
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4355
69.4G
    {
4356
69.4G
        return m_putback_buffer.size() + m_current_view.size();
4357
69.4G
    }
scn::v4::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4355
24.5M
    {
4356
24.5M
        return m_putback_buffer.size() + m_current_view.size();
4357
24.5M
    }
4358
4359
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4360
0
    {
4361
0
        return m_current_view;
4362
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::current_view() const
4363
4364
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4365
0
    {
4366
0
        return m_putback_buffer;
4367
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4368
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4369
    {
4370
        return m_putback_buffer;
4371
    }
4372
4373
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4374
        std::ptrdiff_t pos) const
4375
1.55M
    {
4376
1.55M
        if (SCN_UNLIKELY(
4377
1.55M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4378
380k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4379
380k
        }
4380
1.17M
        const auto start = pos - m_putback_buffer.size();
4381
1.17M
        SCN_EXPECT(start <= m_current_view.size());
4382
1.17M
        return m_current_view.substr(start);
4383
1.17M
    }
scn::v4::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4375
1.41M
    {
4376
1.41M
        if (SCN_UNLIKELY(
4377
1.41M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4378
377k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4379
377k
        }
4380
1.03M
        const auto start = pos - m_putback_buffer.size();
4381
1.03M
        SCN_EXPECT(start <= m_current_view.size());
4382
1.03M
        return m_current_view.substr(start);
4383
1.03M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
Line
Count
Source
4375
140k
    {
4376
140k
        if (SCN_UNLIKELY(
4377
140k
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4378
2.71k
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4379
2.71k
        }
4380
137k
        const auto start = pos - m_putback_buffer.size();
4381
137k
        SCN_EXPECT(start <= m_current_view.size());
4382
137k
        return m_current_view.substr(start);
4383
137k
    }
4384
4385
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4386
40.9M
    {
4387
40.9M
        if (SCN_UNLIKELY(
4388
40.9M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4389
4.58M
            return m_putback_buffer[pos];
4390
4.58M
        }
4391
36.3M
        const auto start = pos - m_putback_buffer.size();
4392
36.3M
        SCN_EXPECT(start < m_current_view.size());
4393
36.3M
        return m_current_view[start];
4394
36.3M
    }
scn::v4::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4386
6.15M
    {
4387
6.15M
        if (SCN_UNLIKELY(
4388
6.15M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4389
3.91M
            return m_putback_buffer[pos];
4390
3.91M
        }
4391
2.24M
        const auto start = pos - m_putback_buffer.size();
4392
2.24M
        SCN_EXPECT(start < m_current_view.size());
4393
2.24M
        return m_current_view[start];
4394
2.24M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4386
34.8M
    {
4387
34.8M
        if (SCN_UNLIKELY(
4388
34.8M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4389
665k
            return m_putback_buffer[pos];
4390
665k
        }
4391
34.1M
        const auto start = pos - m_putback_buffer.size();
4392
34.1M
        SCN_EXPECT(start < m_current_view.size());
4393
34.1M
        return m_current_view[start];
4394
34.1M
    }
4395
4396
    SCN_NODISCARD bool is_contiguous() const
4397
1.90M
    {
4398
1.90M
        return m_is_contiguous;
4399
1.90M
    }
scn::v4::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4397
1.34M
    {
4398
1.34M
        return m_is_contiguous;
4399
1.34M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4397
554k
    {
4398
554k
        return m_is_contiguous;
4399
554k
    }
4400
4401
    SCN_NODISCARD auto get_contiguous() const
4402
0
    {
4403
0
        SCN_EXPECT(is_contiguous());
4404
0
        return ranges::subrange<const CharT*>{
4405
0
            current_view().data(),
4406
0
            current_view().data() + current_view().size()};
4407
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4408
4409
    SCN_NODISCARD range_type get();
4410
    SCN_NODISCARD common_range_type get_common_range();
4411
4412
protected:
4413
    friend class forward_iterator;
4414
    friend class common_forward_iterator;
4415
4416
    struct contiguous_tag {};
4417
    struct non_contiguous_tag {};
4418
4419
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4420
0
        : m_current_view(sv), m_is_contiguous(true)
4421
0
    {
4422
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4423
4424
    basic_scan_buffer(non_contiguous_tag,
4425
                      std::basic_string_view<char_type> sv = {})
4426
634k
        : m_current_view(sv), m_is_contiguous(false)
4427
634k
    {
4428
634k
    }
scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4426
449k
        : m_current_view(sv), m_is_contiguous(false)
4427
449k
    {
4428
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4426
184k
        : m_current_view(sv), m_is_contiguous(false)
4427
184k
    {
4428
184k
    }
4429
4430
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4431
0
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4432
0
    {
4433
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::basic_scan_buffer(bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4434
4435
    std::basic_string_view<char_type> m_current_view{};
4436
    std::basic_string<char_type> m_putback_buffer{};
4437
    bool m_is_contiguous{false};
4438
};
4439
4440
template <typename CharT>
4441
class basic_scan_buffer<CharT>::forward_iterator {
4442
public:
4443
    using value_type = CharT;
4444
    using reference = CharT;
4445
    using pointer = CharT*;
4446
    using difference_type = std::ptrdiff_t;
4447
    using iterator_category = std::forward_iterator_tag;
4448
4449
0
    forward_iterator() = default;
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator()
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator()
4450
4451
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4452
634k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4453
634k
    {
4454
634k
        SCN_EXPECT(parent);
4455
634k
        SCN_EXPECT(!parent->is_contiguous());
4456
634k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4452
449k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4453
449k
    {
4454
449k
        SCN_EXPECT(parent);
4455
449k
        SCN_EXPECT(!parent->is_contiguous());
4456
449k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4452
184k
        : m_begin(parent), m_end(nullptr), m_position(pos)
4453
184k
    {
4454
184k
        SCN_EXPECT(parent);
4455
184k
        SCN_EXPECT(!parent->is_contiguous());
4456
184k
    }
4457
4458
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4459
0
        : m_begin(const_cast<CharT*>(view.data())),
4460
0
          m_end(const_cast<CharT*>(view.data() + view.size())),
4461
0
          m_position(pos)
4462
0
    {
4463
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4464
4465
    std::ptrdiff_t position() const
4466
2.43M
    {
4467
2.43M
        return m_position;
4468
2.43M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4466
2.18M
    {
4467
2.18M
        return m_position;
4468
2.18M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4466
245k
    {
4467
245k
        return m_position;
4468
245k
    }
4469
4470
    bool stores_parent() const
4471
139G
    {
4472
139G
        assert(m_begin);
4473
139G
        return m_end == nullptr;
4474
139G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4471
62.0M
    {
4472
62.0M
        assert(m_begin);
4473
62.0M
        return m_end == nullptr;
4474
62.0M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4471
138G
    {
4472
138G
        assert(m_begin);
4473
138G
        return m_end == nullptr;
4474
138G
    }
4475
4476
    basic_scan_buffer<CharT>* parent()
4477
437k
    {
4478
437k
        SCN_EXPECT(stores_parent());
4479
437k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4480
437k
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent()
Line
Count
Source
4477
336k
    {
4478
336k
        SCN_EXPECT(stores_parent());
4479
336k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4480
336k
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
Line
Count
Source
4477
100k
    {
4478
100k
        SCN_EXPECT(stores_parent());
4479
100k
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4480
100k
    }
4481
    const basic_scan_buffer<CharT>* parent() const
4482
69.5G
    {
4483
69.5G
        SCN_EXPECT(stores_parent());
4484
69.5G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4485
69.5G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4482
34.1M
    {
4483
34.1M
        SCN_EXPECT(stores_parent());
4484
34.1M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4485
34.1M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4482
69.5G
    {
4483
69.5G
        SCN_EXPECT(stores_parent());
4484
69.5G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4485
69.5G
    }
4486
4487
    std::basic_string_view<CharT> contiguous_segment() const
4488
1.55M
    {
4489
1.55M
        if (!stores_parent()) {
4490
0
            return make_string_view_from_pointers(
4491
0
                static_cast<const CharT*>(m_begin) + position(),
4492
0
                static_cast<const CharT*>(m_end));
4493
0
        }
4494
1.55M
        return parent()->get_segment_starting_at(position());
4495
1.55M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4488
1.41M
    {
4489
1.41M
        if (!stores_parent()) {
4490
0
            return make_string_view_from_pointers(
4491
0
                static_cast<const CharT*>(m_begin) + position(),
4492
0
                static_cast<const CharT*>(m_end));
4493
0
        }
4494
1.41M
        return parent()->get_segment_starting_at(position());
4495
1.41M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4488
140k
    {
4489
140k
        if (!stores_parent()) {
4490
0
            return make_string_view_from_pointers(
4491
0
                static_cast<const CharT*>(m_begin) + position(),
4492
0
                static_cast<const CharT*>(m_end));
4493
0
        }
4494
140k
        return parent()->get_segment_starting_at(position());
4495
140k
    }
4496
    auto to_contiguous_segment_iterator() const
4497
    {
4498
        return contiguous_segment().data();
4499
    }
4500
4501
    forward_iterator& operator++()
4502
69.3G
    {
4503
69.3G
        ++m_position;
4504
69.3G
        (void)read_at_position();
4505
69.3G
        return *this;
4506
69.3G
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4502
8.68M
    {
4503
8.68M
        ++m_position;
4504
8.68M
        (void)read_at_position();
4505
8.68M
        return *this;
4506
8.68M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4502
69.3G
    {
4503
69.3G
        ++m_position;
4504
69.3G
        (void)read_at_position();
4505
69.3G
        return *this;
4506
69.3G
    }
4507
4508
    forward_iterator operator++(int)
4509
    {
4510
        auto copy = *this;
4511
        operator++();
4512
        return copy;
4513
    }
4514
4515
    CharT operator*() const
4516
40.9M
    {
4517
40.9M
        SCN_EXPECT(m_begin);
4518
4519
40.9M
        if (!stores_parent()) {
4520
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4521
0
            SCN_EXPECT(ptr != m_end);
4522
0
            return *ptr;
4523
0
        }
4524
4525
40.9M
        auto res = read_at_position();
4526
40.9M
        SCN_EXPECT(res);
4527
40.9M
        return parent()->get_character_at(m_position);
4528
40.9M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4516
6.15M
    {
4517
6.15M
        SCN_EXPECT(m_begin);
4518
4519
6.15M
        if (!stores_parent()) {
4520
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4521
0
            SCN_EXPECT(ptr != m_end);
4522
0
            return *ptr;
4523
0
        }
4524
4525
6.15M
        auto res = read_at_position();
4526
6.15M
        SCN_EXPECT(res);
4527
6.15M
        return parent()->get_character_at(m_position);
4528
6.15M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4516
34.8M
    {
4517
34.8M
        SCN_EXPECT(m_begin);
4518
4519
34.8M
        if (!stores_parent()) {
4520
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4521
0
            SCN_EXPECT(ptr != m_end);
4522
0
            return *ptr;
4523
0
        }
4524
4525
34.8M
        auto res = read_at_position();
4526
34.8M
        SCN_EXPECT(res);
4527
34.8M
        return parent()->get_character_at(m_position);
4528
34.8M
    }
4529
4530
    forward_iterator& batch_advance(std::ptrdiff_t n)
4531
0
    {
4532
0
        SCN_EXPECT(n >= 0);
4533
0
        m_position += n;
4534
0
        return *this;
4535
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance(long)
4536
4537
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4538
0
    {
4539
0
        SCN_EXPECT(i >= m_position);
4540
0
        m_position = i;
4541
0
        return *this;
4542
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4543
4544
    friend bool operator==(const forward_iterator& lhs,
4545
                           const forward_iterator& rhs)
4546
69.3G
    {
4547
69.3G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4548
69.3G
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4546
5.77M
    {
4547
5.77M
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4548
5.77M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4546
69.3G
    {
4547
69.3G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4548
69.3G
    }
4549
    friend bool operator!=(const forward_iterator& lhs,
4550
                           const forward_iterator& rhs)
4551
69.3G
    {
4552
69.3G
        return !(lhs == rhs);
4553
69.3G
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4551
5.46M
    {
4552
5.46M
        return !(lhs == rhs);
4553
5.46M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4551
69.3G
    {
4552
69.3G
        return !(lhs == rhs);
4553
69.3G
    }
4554
4555
    friend bool operator==(const forward_iterator& x,
4556
                           ranges::default_sentinel_t)
4557
2.93M
    {
4558
2.93M
        return x.is_at_end();
4559
2.93M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4557
2.29M
    {
4558
2.29M
        return x.is_at_end();
4559
2.29M
    }
scn::v4::detail::operator==(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4557
635k
    {
4558
635k
        return x.is_at_end();
4559
635k
    }
4560
    friend bool operator==(ranges::default_sentinel_t,
4561
                           const forward_iterator& x)
4562
    {
4563
        return x.is_at_end();
4564
    }
4565
4566
    friend bool operator!=(const forward_iterator& x,
4567
                           ranges::default_sentinel_t)
4568
36.6M
    {
4569
36.6M
        return !x.is_at_end();
4570
36.6M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4568
2.57M
    {
4569
2.57M
        return !x.is_at_end();
4570
2.57M
    }
scn::v4::detail::operator!=(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v4::ranges::default_sentinel_t)
Line
Count
Source
4568
34.1M
    {
4569
34.1M
        return !x.is_at_end();
4570
34.1M
    }
4571
    friend bool operator!=(ranges::default_sentinel_t,
4572
                           const forward_iterator& x)
4573
    {
4574
        return !x.is_at_end();
4575
    }
4576
4577
private:
4578
    friend class basic_scan_buffer<CharT>;
4579
4580
    SCN_NODISCARD bool read_at_position() const
4581
69.4G
    {
4582
69.4G
        SCN_EXPECT(m_begin);
4583
4584
69.4G
        if (!stores_parent()) {
4585
0
            return true;
4586
0
        }
4587
4588
69.4G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4589
69.3G
            return true;
4590
69.3G
        }
4591
4592
72.8M
        while (m_position >= parent()->chars_available()) {
4593
36.5M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4594
247k
                return false;
4595
247k
            }
4596
36.5M
        }
4597
36.3M
        return true;
4598
36.5M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4581
19.7M
    {
4582
19.7M
        SCN_EXPECT(m_begin);
4583
4584
19.7M
        if (!stores_parent()) {
4585
0
            return true;
4586
0
        }
4587
4588
19.7M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4589
17.3M
            return true;
4590
17.3M
        }
4591
4592
4.51M
        while (m_position >= parent()->chars_available()) {
4593
2.32M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4594
143k
                return false;
4595
143k
            }
4596
2.32M
        }
4597
2.18M
        return true;
4598
2.32M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4581
69.4G
    {
4582
69.4G
        SCN_EXPECT(m_begin);
4583
4584
69.4G
        if (!stores_parent()) {
4585
0
            return true;
4586
0
        }
4587
4588
69.4G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4589
69.3G
            return true;
4590
69.3G
        }
4591
4592
68.3M
        while (m_position >= parent()->chars_available()) {
4593
34.2M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4594
104k
                return false;
4595
104k
            }
4596
34.2M
        }
4597
34.1M
        return true;
4598
34.2M
    }
4599
4600
    SCN_NODISCARD bool is_at_end() const
4601
39.6M
    {
4602
39.6M
        if (m_end) {
4603
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4604
0
        }
4605
39.6M
        if (!m_begin) {
4606
0
            return true;
4607
0
        }
4608
39.6M
        return !read_at_position();
4609
39.6M
    }
scn::v4::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4601
4.86M
    {
4602
4.86M
        if (m_end) {
4603
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4604
0
        }
4605
4.86M
        if (!m_begin) {
4606
0
            return true;
4607
0
        }
4608
4.86M
        return !read_at_position();
4609
4.86M
    }
scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4601
34.7M
    {
4602
34.7M
        if (m_end) {
4603
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4604
0
        }
4605
34.7M
        if (!m_begin) {
4606
0
            return true;
4607
0
        }
4608
34.7M
        return !read_at_position();
4609
34.7M
    }
4610
4611
    // If m_end is null, m_begin points to the parent scan_buffer
4612
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4613
    // the entire range)
4614
    mutable void* m_begin{nullptr};
4615
    mutable void* m_end{nullptr};
4616
    std::ptrdiff_t m_position{0};
4617
};
4618
4619
template <typename CharT>
4620
class basic_scan_buffer<CharT>::common_forward_iterator
4621
    : public basic_scan_buffer<CharT>::forward_iterator {
4622
    using base = basic_scan_buffer<CharT>::forward_iterator;
4623
4624
public:
4625
    common_forward_iterator() = default;
4626
4627
    explicit common_forward_iterator(forward_iterator it)
4628
0
        : base(it), m_is_end(it.is_at_end())
4629
0
    {
4630
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
4631
    explicit common_forward_iterator(ranges::default_sentinel_t)
4632
0
        : base(), m_is_end(true)
4633
0
    {
4634
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<char>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v4::detail::basic_scan_buffer<wchar_t>::common_forward_iterator::common_forward_iterator(scn::v4::ranges::default_sentinel_t)
4635
4636
    common_forward_iterator& operator++()
4637
    {
4638
        base::operator++();
4639
        m_is_end = base::is_at_end();
4640
        return *this;
4641
    }
4642
4643
    common_forward_iterator operator++(int)
4644
    {
4645
        auto copy = *this;
4646
        operator++();
4647
        return copy;
4648
    }
4649
4650
    common_forward_iterator& batch_advance(std::ptrdiff_t n)
4651
    {
4652
        base::batch_advance(n);
4653
        m_is_end = base::is_at_end();
4654
        return *this;
4655
    }
4656
4657
    common_forward_iterator& batch_advance_to(std::ptrdiff_t i)
4658
    {
4659
        base::batch_advance_to(i);
4660
        m_is_end = base::is_at_end();
4661
        return *this;
4662
    }
4663
4664
    friend bool operator==(const common_forward_iterator& lhs,
4665
                           const common_forward_iterator& rhs)
4666
    {
4667
        if (lhs.m_is_end && rhs.m_is_end) {
4668
            return true;
4669
        }
4670
        if (lhs.m_is_end != rhs.m_is_end) {
4671
            return false;
4672
        }
4673
        return static_cast<const forward_iterator&>(lhs) ==
4674
               static_cast<const forward_iterator&>(rhs);
4675
    }
4676
4677
    friend bool operator!=(const common_forward_iterator& lhs,
4678
                           const common_forward_iterator& rhs)
4679
    {
4680
        return !(lhs == rhs);
4681
    }
4682
4683
private:
4684
    bool m_is_end{};
4685
};
4686
4687
template <typename CharT>
4688
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4689
634k
{
4690
634k
    if (is_contiguous()) {
4691
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4692
0
                                ranges::default_sentinel};
4693
0
    }
4694
634k
    return ranges::subrange{forward_iterator{this, 0},
4695
634k
                            ranges::default_sentinel};
4696
634k
}
scn::v4::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4689
449k
{
4690
449k
    if (is_contiguous()) {
4691
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4692
0
                                ranges::default_sentinel};
4693
0
    }
4694
449k
    return ranges::subrange{forward_iterator{this, 0},
4695
449k
                            ranges::default_sentinel};
4696
449k
}
scn::v4::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4689
184k
{
4690
184k
    if (is_contiguous()) {
4691
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4692
0
                                ranges::default_sentinel};
4693
0
    }
4694
184k
    return ranges::subrange{forward_iterator{this, 0},
4695
184k
                            ranges::default_sentinel};
4696
184k
}
4697
4698
template <typename CharT>
4699
SCN_NODISCARD auto basic_scan_buffer<CharT>::get_common_range()
4700
    -> common_range_type
4701
{
4702
    auto r = get();
4703
    return ranges::subrange{common_forward_iterator{r.begin()},
4704
                            common_forward_iterator{r.end()}};
4705
}
4706
4707
static_assert(ranges::forward_range<scan_buffer::range_type>);
4708
4709
template <typename CharT>
4710
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4711
    using base = basic_scan_buffer<CharT>;
4712
4713
public:
4714
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4715
0
        : base(typename base::contiguous_tag{}, sv)
4716
0
    {
4717
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4718
4719
    bool fill() override
4720
0
    {
4721
0
        SCN_EXPECT(false);
4722
0
        SCN_UNREACHABLE;
4723
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_string_buffer<wchar_t>::fill()
4724
};
4725
4726
template <typename CharT>
4727
basic_scan_string_buffer(std::basic_string_view<CharT>)
4728
    -> basic_scan_string_buffer<CharT>;
4729
4730
template <typename CharT>
4731
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4732
    using base = basic_scan_buffer<CharT>;
4733
4734
protected:
4735
634k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4736
634k
    {
4737
634k
    }
scn::v4::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4735
449k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4736
449k
    {
4737
449k
    }
scn::v4::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4735
184k
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4736
184k
    {
4737
184k
    }
4738
};
4739
4740
template <typename I, typename S>
4741
using less_than_compare =
4742
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4743
4744
template <typename Range>
4745
class basic_scan_forward_buffer_impl
4746
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4747
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4748
4749
    using _char_type = detail::char_t<Range>;
4750
    using base = basic_scan_forward_buffer_base<_char_type>;
4751
4752
public:
4753
    using char_type = _char_type;
4754
    using range_type = Range;
4755
    using iterator = ranges::iterator_t<const Range>;
4756
    using sentinel = ranges::sentinel_t<const Range>;
4757
4758
    template <
4759
        typename R,
4760
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4761
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4762
    basic_scan_forward_buffer_impl(R&& r)
4763
634k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4764
634k
          m_cursor(ranges::begin(*m_range))
4765
634k
    {
4766
634k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4763
449k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4764
449k
          m_cursor(ranges::begin(*m_range))
4765
449k
    {
4766
449k
    }
_ZN3scn2v46detail30basic_scan_forward_buffer_implINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEC2IRKSF_TnPNS7_9enable_ifIXaa11is_not_selfIT_SG_Esr3stdE16is_convertible_vISL_SJ_EEvE4typeELPv0EEEOSL_
Line
Count
Source
4763
184k
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4764
184k
          m_cursor(ranges::begin(*m_range))
4765
184k
    {
4766
184k
    }
4767
4768
    bool fill() override
4769
36.5M
    {
4770
36.5M
        if (m_cursor == ranges::end(*m_range)) {
4771
247k
            return false;
4772
247k
        }
4773
36.3M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4774
36.3M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4775
36.3M
        }
4776
36.3M
        if (!this->m_current_view.empty()) {
4777
35.7M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4778
35.7M
                                          this->m_current_view.begin(),
4779
35.7M
                                          this->m_current_view.end());
4780
35.7M
        }
4781
36.3M
        m_latest = *m_cursor;
4782
36.3M
        ++m_cursor;
4783
36.3M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4784
36.3M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4785
36.3M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4786
36.3M
        }
4787
36.3M
        return true;
4788
36.5M
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4769
2.32M
    {
4770
2.32M
        if (m_cursor == ranges::end(*m_range)) {
4771
143k
            return false;
4772
143k
        }
4773
2.18M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4774
2.18M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4775
2.18M
        }
4776
2.18M
        if (!this->m_current_view.empty()) {
4777
1.76M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4778
1.76M
                                          this->m_current_view.begin(),
4779
1.76M
                                          this->m_current_view.end());
4780
1.76M
        }
4781
2.18M
        m_latest = *m_cursor;
4782
2.18M
        ++m_cursor;
4783
2.18M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4784
2.18M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4785
2.18M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4786
2.18M
        }
4787
2.18M
        return true;
4788
2.32M
    }
scn::v4::detail::basic_scan_forward_buffer_impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4769
34.2M
    {
4770
34.2M
        if (m_cursor == ranges::end(*m_range)) {
4771
104k
            return false;
4772
104k
        }
4773
34.1M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4774
34.1M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4775
34.1M
        }
4776
34.1M
        if (!this->m_current_view.empty()) {
4777
33.9M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4778
33.9M
                                          this->m_current_view.begin(),
4779
33.9M
                                          this->m_current_view.end());
4780
33.9M
        }
4781
34.1M
        m_latest = *m_cursor;
4782
34.1M
        ++m_cursor;
4783
34.1M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4784
34.1M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4785
34.1M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4786
34.1M
        }
4787
34.1M
        return true;
4788
34.2M
    }
4789
4790
private:
4791
    const Range* m_range;
4792
    iterator m_cursor;
4793
    char_type m_latest{};
4794
};
4795
4796
template <typename R>
4797
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4798
4799
struct default_file_tag {};
4800
struct gnu_file_tag {};
4801
struct bsd_file_tag {};
4802
struct musl_file_tag {};
4803
struct win32_file_tag {};
4804
4805
// Non-pretty workaround for MSVC silliness
4806
template <typename F, typename = void>
4807
inline constexpr bool is_gnu_file = false;
4808
template <typename F>
4809
inline constexpr bool
4810
    is_gnu_file<F,
4811
                std::void_t<decltype(SCN_DECLVAL(F)._IO_read_ptr),
4812
                            decltype(SCN_DECLVAL(F)._IO_read_end)>> = true;
4813
4814
template <typename F, typename = void>
4815
inline constexpr bool is_bsd_file = false;
4816
template <typename F>
4817
inline constexpr bool is_bsd_file<
4818
    F,
4819
    std::void_t<decltype(SCN_DECLVAL(F)._p), decltype(SCN_DECLVAL(F)._r)>> =
4820
    true;
4821
4822
template <typename F, typename = void>
4823
inline constexpr bool is_musl_file = false;
4824
template <typename F>
4825
inline constexpr bool is_musl_file<
4826
    F,
4827
    std::void_t<decltype(SCN_DECLVAL(F).rpos), decltype(SCN_DECLVAL(F).rend)>> =
4828
    true;
4829
4830
template <typename F>
4831
inline constexpr bool is_win32_file =
4832
    std::is_same_v<F, std::FILE> && SCN_WINDOWS && !SCN_MINGW;
4833
4834
constexpr auto get_file_tag()
4835
0
{
4836
0
    if constexpr (is_gnu_file<std::FILE>) {
4837
0
        return detail::tag_type<gnu_file_tag>{};
4838
0
    }
4839
0
    else if constexpr (is_bsd_file<std::FILE>) {
4840
0
        return detail::tag_type<bsd_file_tag>{};
4841
0
    }
4842
0
    else if constexpr (is_musl_file<std::FILE>) {
4843
0
        return detail::tag_type<musl_file_tag>{};
4844
0
    }
4845
0
    else if constexpr (is_win32_file<std::FILE>) {
4846
0
        return detail::tag_type<win32_file_tag>{};
4847
0
    }
4848
0
    else {
4849
0
        return detail::tag_type<default_file_tag>{};
4850
0
    }
4851
0
}
4852
4853
template <typename File>
4854
struct stdio_file_interface_base {
4855
0
    stdio_file_interface_base(File* f) : file(f) {}
4856
    ~stdio_file_interface_base() = default;
4857
4858
    stdio_file_interface_base(const stdio_file_interface_base&) = delete;
4859
    stdio_file_interface_base& operator=(const stdio_file_interface_base&) =
4860
        delete;
4861
4862
    stdio_file_interface_base(stdio_file_interface_base&& other)
4863
0
        : file(other.file)
4864
0
    {
4865
0
        other.file = nullptr;
4866
0
    }
4867
    stdio_file_interface_base& operator=(stdio_file_interface_base&& other)
4868
    {
4869
        file = other.file;
4870
        other.file = nullptr;
4871
        return *this;
4872
    }
4873
4874
    File* file;
4875
};
4876
4877
template <typename File, typename Tag>
4878
struct stdio_file_interface_impl;
4879
4880
template <typename File>
4881
struct stdio_file_interface_impl<File, default_file_tag>
4882
    : stdio_file_interface_base<File> {
4883
    void lock() {}
4884
    void unlock() {}
4885
4886
    bool has_buffering() const
4887
    {
4888
        return false;
4889
    }
4890
4891
    std::string_view buffer() const
4892
    {
4893
        return {};
4894
    }
4895
    void unsafe_advance_n(std::ptrdiff_t)
4896
    {
4897
        SCN_EXPECT(false);
4898
        SCN_UNREACHABLE;
4899
    }
4900
    void fill_buffer()
4901
    {
4902
        SCN_EXPECT(false);
4903
        SCN_UNREACHABLE;
4904
    }
4905
4906
    std::optional<char> read_one()
4907
    {
4908
        auto res = std::fgetc(this->file);
4909
        if (res == EOF) {
4910
            return std::nullopt;
4911
        }
4912
        return static_cast<char>(res);
4913
    }
4914
4915
    void prepare_putback() {}
4916
    void finalize_putback() {}
4917
4918
    bool putback(char ch)
4919
    {
4920
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4921
    }
4922
};
4923
4924
template <typename File>
4925
struct posix_stdio_file_interface : stdio_file_interface_base<File> {
4926
    void lock()
4927
0
    {
4928
0
        flockfile(this->file);
4929
0
    }
4930
    void unlock()
4931
0
    {
4932
0
        funlockfile(this->file);
4933
0
    }
4934
4935
    static bool has_buffering()
4936
0
    {
4937
0
        return true;
4938
0
    }
4939
4940
    std::optional<char> read_one()
4941
0
    {
4942
0
        auto res = getc_unlocked(this->file);
4943
0
        if (res == EOF) {
4944
0
            return std::nullopt;
4945
0
        }
4946
0
        return static_cast<char>(res);
4947
0
    }
4948
4949
    void prepare_putback()
4950
0
    {
4951
0
        unlock();
4952
0
    }
4953
    void finalize_putback()
4954
0
    {
4955
0
        lock();
4956
0
    }
4957
4958
    bool putback(char ch)
4959
0
    {
4960
0
        return std::ungetc(static_cast<unsigned char>(ch), this->file) != EOF;
4961
0
    }
4962
};
4963
4964
template <typename File>
4965
struct stdio_file_interface_impl<File, gnu_file_tag>
4966
    : posix_stdio_file_interface<File> {
4967
    std::string_view buffer() const
4968
0
    {
4969
0
        return make_string_view_from_pointers(this->file->_IO_read_ptr,
4970
0
                                              this->file->_IO_read_end);
4971
0
    }
4972
    void unsafe_advance_n(std::ptrdiff_t n)
4973
0
    {
4974
0
        SCN_EXPECT(this->file->_IO_read_ptr != nullptr);
4975
0
        SCN_EXPECT(this->file->_IO_read_end - this->file->_IO_read_ptr >= n);
4976
0
        this->file->_IO_read_ptr += n;
4977
0
    }
4978
    void fill_buffer()
4979
0
    {
4980
0
        if (__uflow(this->file) != EOF) {
4981
0
            --this->file->_IO_read_ptr;
4982
0
        }
4983
0
    }
4984
};
4985
4986
template <typename File>
4987
struct stdio_file_interface_impl<File, bsd_file_tag>
4988
    : posix_stdio_file_interface<File> {
4989
    std::string_view buffer() const
4990
    {
4991
        return {reinterpret_cast<const char*>(this->file->_p),
4992
                static_cast<std::size_t>(this->file->_r)};
4993
    }
4994
    void unsafe_advance_n(std::ptrdiff_t n)
4995
    {
4996
        SCN_EXPECT(this->file->_p != nullptr);
4997
        SCN_EXPECT(this->file->_r >= n);
4998
        this->file->_p += n;
4999
        this->file->_r -= n;
5000
    }
5001
    void fill_buffer()
5002
    {
5003
        if (__srget(this->file) != EOF) {
5004
            --this->file->_p;
5005
            ++this->file->_r;
5006
        }
5007
    }
5008
};
5009
5010
template <typename File>
5011
struct stdio_file_interface_impl<File, musl_file_tag>
5012
    : posix_stdio_file_interface<File> {
5013
    std::string_view buffer() const
5014
    {
5015
        return make_string_view_from_pointers(
5016
            reinterpret_cast<const char*>(this->file->rpos),
5017
            reinterpret_cast<const char*>(this->file->rend));
5018
    }
5019
    void unsafe_advance_n(std::ptrdiff_t n)
5020
    {
5021
        SCN_EXPECT(this->file->rpos != nullptr);
5022
        SCN_EXPECT(this->file->rend - this->file->rpos >= n);
5023
        this->file->rpos += n;
5024
    }
5025
    void fill_buffer()
5026
    {
5027
        if (__uflow(this->file) != EOF) {
5028
            --this->file->rpos;
5029
        }
5030
    }
5031
};
5032
5033
template <typename File>
5034
struct stdio_file_interface_impl<File, win32_file_tag>
5035
    : stdio_file_interface_base<File> {
5036
    void lock()
5037
    {
5038
        _lock_file(this->file);
5039
    }
5040
    void unlock()
5041
    {
5042
        _unlock_file(this->file);
5043
    }
5044
5045
    static bool has_buffering()
5046
    {
5047
        return false;
5048
    }
5049
5050
    std::string_view buffer() const
5051
    {
5052
        return {};
5053
    }
5054
    void unsafe_advance_n(std::ptrdiff_t n)
5055
    {
5056
        SCN_EXPECT(false);
5057
        SCN_UNREACHABLE;
5058
    }
5059
    void fill_buffer()
5060
    {
5061
        SCN_EXPECT(false);
5062
        SCN_UNREACHABLE;
5063
    }
5064
5065
    std::optional<char> read_one()
5066
    {
5067
        auto res = _fgetc_nolock(this->file);
5068
        if (res == EOF) {
5069
            return std::nullopt;
5070
        }
5071
        return static_cast<char>(res);
5072
    }
5073
5074
    void prepare_putback() {}
5075
    void finalize_putback() {}
5076
5077
    bool putback(char ch)
5078
    {
5079
        return _ungetc_nolock(static_cast<unsigned char>(ch), this->file) !=
5080
               EOF;
5081
    }
5082
};
5083
5084
using stdio_file_interface =
5085
    stdio_file_interface_impl<std::FILE, decltype(get_file_tag())::type>;
5086
5087
template <typename FileInterface>
5088
class basic_scan_file_buffer : public basic_scan_buffer<char> {
5089
    using base = basic_scan_buffer<char>;
5090
5091
public:
5092
    explicit basic_scan_file_buffer(FileInterface file);
5093
    ~basic_scan_file_buffer();
5094
5095
    bool fill() override;
5096
5097
    bool sync(std::ptrdiff_t position) override;
5098
5099
private:
5100
    FileInterface m_file;
5101
    std::optional<char_type> m_latest{std::nullopt};
5102
};
5103
5104
struct scan_file_buffer : public basic_scan_file_buffer<stdio_file_interface> {
5105
    explicit scan_file_buffer(std::FILE* file)
5106
0
        : basic_scan_file_buffer(stdio_file_interface{file})
5107
0
    {
5108
0
    }
5109
};
5110
5111
extern template basic_scan_file_buffer<
5112
    stdio_file_interface>::basic_scan_file_buffer(stdio_file_interface);
5113
extern template basic_scan_file_buffer<
5114
    stdio_file_interface>::~basic_scan_file_buffer();
5115
extern template bool basic_scan_file_buffer<stdio_file_interface>::fill();
5116
extern template bool basic_scan_file_buffer<stdio_file_interface>::sync(
5117
    std::ptrdiff_t);
5118
5119
template <typename CharT>
5120
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
5121
    using base = basic_scan_buffer<CharT>;
5122
5123
public:
5124
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
5125
0
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
5126
0
          m_other(&other),
5127
0
          m_starting_pos(starting_pos)
5128
0
    {
5129
0
        this->m_current_view = other.get_segment_starting_at(starting_pos);
5130
0
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
5131
0
                                    this->m_current_view.end();
5132
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<char>&, long)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(scn::v4::detail::basic_scan_buffer<wchar_t>&, long)
5133
5134
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
5135
0
        : base(true, view), m_other(nullptr)
5136
0
    {
5137
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::basic_scan_ref_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::basic_scan_ref_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
5138
5139
    bool fill() override
5140
0
    {
5141
0
        if (!m_other) {
5142
0
            return false;
5143
0
        }
5144
0
        SCN_EXPECT(m_starting_pos >= 0);
5145
5146
0
        if (m_fill_needs_to_propagate) {
5147
0
            auto ret = m_other->fill();
5148
0
            this->m_current_view = m_other->current_view();
5149
0
            this->m_putback_buffer =
5150
0
                m_other->putback_buffer().substr(m_starting_pos);
5151
0
            return ret;
5152
0
        }
5153
5154
0
        m_fill_needs_to_propagate = true;
5155
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
5156
0
        this->m_current_view = m_other->current_view();
5157
0
        return true;
5158
0
    }
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v4::detail::basic_scan_ref_buffer<wchar_t>::fill()
5159
5160
private:
5161
    base* m_other;
5162
    std::ptrdiff_t m_starting_pos{-1};
5163
    bool m_fill_needs_to_propagate{false};
5164
};
5165
5166
template <typename CharT>
5167
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
5168
    -> basic_scan_ref_buffer<CharT>;
5169
5170
template <typename CharT>
5171
basic_scan_ref_buffer(std::basic_string_view<CharT>)
5172
    -> basic_scan_ref_buffer<CharT>;
5173
5174
template <typename Range>
5175
auto make_string_scan_buffer(const Range& range)
5176
{
5177
    return basic_scan_string_buffer(
5178
        std::basic_string_view{ranges::data(range), ranges::size(range)});
5179
}
5180
5181
template <typename Range>
5182
auto make_forward_scan_buffer(const Range& range)
5183
634k
{
5184
634k
    return basic_scan_forward_buffer_impl(range);
5185
634k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5183
449k
{
5184
449k
    return basic_scan_forward_buffer_impl(range);
5185
449k
}
auto scn::v4::detail::make_forward_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5183
184k
{
5184
184k
    return basic_scan_forward_buffer_impl(range);
5185
184k
}
5186
5187
inline auto make_file_scan_buffer(std::FILE* file)
5188
0
{
5189
0
    return scan_file_buffer(file);
5190
0
}
5191
}  // namespace detail
5192
5193
/////////////////////////////////////////////////////////////////
5194
// make_scan_buffer
5195
/////////////////////////////////////////////////////////////////
5196
5197
/**
5198
 * \defgroup scannable Scannable sources
5199
 *
5200
 * \brief Description of the `scannable_range` and `scannable_source`
5201
 * concepts.
5202
 *
5203
 * A range is considered scannable, if it models at least `forward_range`,
5204
 * and its character type is correct (its value type is the same as the one
5205
 * of the format string).
5206
 * If the range additionally models `contiguous_range` and `sized_range`,
5207
 * additional optimizations are enabled.
5208
 *
5209
 * \code{.cpp}
5210
 * // Exposition only
5211
 * template <typename Range, typename CharT>
5212
 * concept scannable_range =
5213
 *     ranges::forward_range<Range> &&
5214
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
5215
 * \endcode
5216
 *
5217
 * Additionally, files (`std::FILE*`) can be scanned from.
5218
 * Files are always considered to be narrow (`char`-oriented).
5219
 * Thus, the entire concept is:
5220
 *
5221
 * \code{.cpp}
5222
 * // Exposition only
5223
 * template <typename Source, typename CharT>
5224
 * concept scannable_source =
5225
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
5226
 *    std::same_as<CharT, char>) ||
5227
 *   scannable_range<Source, CharT>;
5228
 * \endcode
5229
 */
5230
5231
/**
5232
 * Tag type to indicate an invalid range given to `scn::scan`
5233
 *
5234
 * \ingroup scannable
5235
 */
5236
struct invalid_input_range {};
5237
5238
struct invalid_char_type : invalid_input_range {};
5239
struct custom_char_traits : invalid_input_range {};
5240
struct file_marker_found : invalid_input_range {};
5241
struct insufficient_range : invalid_input_range {};
5242
5243
namespace detail {
5244
template <typename CharT>
5245
inline constexpr bool is_valid_char_type =
5246
    std::is_same_v<std::remove_const_t<CharT>, char> ||
5247
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
5248
5249
namespace _make_scan_buffer {
5250
// buffer -> ref_buffer
5251
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
5252
    -> basic_scan_ref_buffer<char>
5253
0
{
5254
0
    if (!r.begin().stores_parent()) {
5255
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5256
0
    }
5257
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5258
0
}
5259
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
5260
    -> basic_scan_ref_buffer<wchar_t>
5261
0
{
5262
0
    if (!r.begin().stores_parent()) {
5263
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
5264
0
    }
5265
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
5266
0
}
5267
5268
// string_view -> string_buffer
5269
template <typename CharT>
5270
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
5271
{
5272
    if constexpr (is_valid_char_type<CharT>) {
5273
        return r;
5274
        // return make_string_scan_buffer(r);
5275
    }
5276
    else {
5277
        return invalid_char_type{};
5278
    }
5279
}
5280
5281
// string& -> string_buffer
5282
template <typename CharT, typename Traits, typename Allocator>
5283
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
5284
          priority_tag<3>) noexcept
5285
0
{
5286
    if constexpr (!is_valid_char_type<CharT>) {
5287
        return invalid_char_type{};
5288
    }
5289
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
5290
        return custom_char_traits{};
5291
    }
5292
0
    else {
5293
0
        return std::basic_string_view<CharT>{r};
5294
0
    }
5295
0
}
5296
5297
// String literals:
5298
// CharT(&)[] -> string_buffer
5299
template <typename CharT,
5300
          std::size_t N,
5301
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
5302
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
5303
{
5304
    return std::basic_string_view<CharT>{r, N - 1};
5305
}
5306
5307
// FILE* -> file_buffer
5308
inline auto impl(std::FILE* file, priority_tag<3>)
5309
0
{
5310
0
    return make_file_scan_buffer(file);
5311
0
}
5312
5313
// contiguous + sized -> string_buffer
5314
template <typename Range,
5315
          std::enable_if_t<ranges::contiguous_range<Range> &&
5316
                           ranges::sized_range<Range>>* = nullptr>
5317
auto impl(const Range& r, priority_tag<2>)
5318
635k
{
5319
635k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5320
635k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5321
    }
5322
    else {
5323
        return invalid_char_type{};
5324
    }
5325
635k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKcS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5318
450k
{
5319
450k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5320
450k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5321
    }
5322
    else {
5323
        return invalid_char_type{};
5324
    }
5325
450k
}
_ZN3scn2v46detail17_make_scan_buffer4implINS0_6ranges6detail9subrange_8subrangeIPKwS9_EETnPNSt3__19enable_ifIXaasr6rangesE16contiguous_rangeIT_Esr6rangesE11sized_rangeISD_EEvE4typeELPv0EEEDaRKSD_NS1_12priority_tagILm2EEE
Line
Count
Source
5318
184k
{
5319
184k
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5320
184k
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
5321
    }
5322
    else {
5323
        return invalid_char_type{};
5324
    }
5325
184k
}
5326
5327
// !contiguous + random-access + iterator can be made into a ptr
5328
// for MSVC debug iterators
5329
//   -> string_buffer
5330
template <typename Range,
5331
          std::enable_if_t<!ranges::contiguous_range<Range> &&
5332
                           ranges::random_access_range<Range> &&
5333
                           can_make_address_from_iterator<
5334
                               ranges::iterator_t<Range>>>* = nullptr>
5335
auto impl(const Range& r, priority_tag<1>)
5336
{
5337
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
5338
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
5339
                                              to_address(ranges::end(r)));
5340
    }
5341
    else {
5342
        return invalid_char_type{};
5343
    }
5344
}
5345
5346
// forward -> forward_buffer<R>
5347
template <typename Range>
5348
auto impl(const Range& r, priority_tag<0>)
5349
634k
{
5350
    if constexpr (std::is_same_v<Range, file_marker>) {
5351
        return file_marker_found{};
5352
    }
5353
    else if constexpr (!ranges::forward_range<Range>) {
5354
        if constexpr (ranges::range<Range>) {
5355
            return insufficient_range{};
5356
        }
5357
        else {
5358
            return invalid_input_range{};
5359
        }
5360
    }
5361
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5362
        return invalid_char_type{};
5363
    }
5364
634k
    else {
5365
634k
        return make_forward_scan_buffer(r);
5366
634k
    }
5367
634k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5349
449k
{
5350
    if constexpr (std::is_same_v<Range, file_marker>) {
5351
        return file_marker_found{};
5352
    }
5353
    else if constexpr (!ranges::forward_range<Range>) {
5354
        if constexpr (ranges::range<Range>) {
5355
            return insufficient_range{};
5356
        }
5357
        else {
5358
            return invalid_input_range{};
5359
        }
5360
    }
5361
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5362
        return invalid_char_type{};
5363
    }
5364
449k
    else {
5365
449k
        return make_forward_scan_buffer(r);
5366
449k
    }
5367
449k
}
auto scn::v4::detail::_make_scan_buffer::impl<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v4::detail::priority_tag<0ul>)
Line
Count
Source
5349
184k
{
5350
    if constexpr (std::is_same_v<Range, file_marker>) {
5351
        return file_marker_found{};
5352
    }
5353
    else if constexpr (!ranges::forward_range<Range>) {
5354
        if constexpr (ranges::range<Range>) {
5355
            return insufficient_range{};
5356
        }
5357
        else {
5358
            return invalid_input_range{};
5359
        }
5360
    }
5361
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
5362
        return invalid_char_type{};
5363
    }
5364
184k
    else {
5365
184k
        return make_forward_scan_buffer(r);
5366
184k
    }
5367
184k
}
5368
}  // namespace _make_scan_buffer
5369
5370
template <typename Range>
5371
inline constexpr bool is_scannable_range =
5372
    !std::is_base_of_v<invalid_input_range,
5373
                       decltype(_make_scan_buffer::impl(
5374
                                    SCN_DECLVAL(const Range&)),
5375
                                priority_tag<4>{})>;
5376
5377
template <typename Range>
5378
auto make_scan_buffer(const Range& range)
5379
1.26M
{
5380
1.26M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5381
5382
1.26M
    static_assert(!std::is_same_v<T, invalid_char_type>,
5383
1.26M
                  "\n"
5384
1.26M
                  "Unsupported range type given as input to a scanning "
5385
1.26M
                  "function.\n"
5386
1.26M
                  "A range needs to have a character type (value type) "
5387
1.26M
                  "of either `char` or `wchar_t` to be scannable.\n"
5388
1.26M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5389
1.26M
                  "to be included.\n"
5390
1.26M
                  "See the scnlib documentation for more details.");
5391
1.26M
    static_assert(
5392
1.26M
        !std::is_same_v<T, custom_char_traits>,
5393
1.26M
        "\n"
5394
1.26M
        "Unsupported range type given as input to a scanning "
5395
1.26M
        "function.\n"
5396
1.26M
        "String types (std::basic_string, and std::basic_string_view) "
5397
1.26M
        "need to use std::char_traits. Strings with custom Traits are "
5398
1.26M
        "not supported.");
5399
1.26M
    static_assert(!std::is_same_v<T, file_marker_found>,
5400
1.26M
                  "\n"
5401
1.26M
                  "Unsupported range type given as input to a scanning "
5402
1.26M
                  "function.\n"
5403
1.26M
                  "file_marker_found cannot be used as an "
5404
1.26M
                  "source range type to scn::scan.\n"
5405
1.26M
                  "To read from stdin, use scn::input or scn::prompt, "
5406
1.26M
                  "and do not provide an explicit source range, "
5407
1.26M
                  "or use scn::scan with a FILE* directly.");
5408
1.26M
    static_assert(!std::is_same_v<T, insufficient_range>,
5409
1.26M
                  "\n"
5410
1.26M
                  "Unsupported range type given as input to a scanning "
5411
1.26M
                  "function.\n"
5412
1.26M
                  "In order to be scannable, a range needs to satisfy "
5413
1.26M
                  "`forward_range`. `input_range` is not sufficient.");
5414
1.26M
    static_assert(!std::is_same_v<T, invalid_input_range>,
5415
1.26M
                  "\n"
5416
1.26M
                  "Unsupported range type given as input to a scanning "
5417
1.26M
                  "function.\n"
5418
1.26M
                  "A range needs to model forward_range and have a valid "
5419
1.26M
                  "character type (char or wchar_t) to be scannable.\n"
5420
1.26M
                  "Examples of scannable ranges are std::string, "
5421
1.26M
                  "std::string_view, "
5422
1.26M
                  "std::vector<char>, and scn::istreambuf_view.\n"
5423
1.26M
                  "See the scnlib documentation for more details.");
5424
5425
1.26M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5426
1.26M
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
5379
450k
{
5380
450k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5381
5382
450k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5383
450k
                  "\n"
5384
450k
                  "Unsupported range type given as input to a scanning "
5385
450k
                  "function.\n"
5386
450k
                  "A range needs to have a character type (value type) "
5387
450k
                  "of either `char` or `wchar_t` to be scannable.\n"
5388
450k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5389
450k
                  "to be included.\n"
5390
450k
                  "See the scnlib documentation for more details.");
5391
450k
    static_assert(
5392
450k
        !std::is_same_v<T, custom_char_traits>,
5393
450k
        "\n"
5394
450k
        "Unsupported range type given as input to a scanning "
5395
450k
        "function.\n"
5396
450k
        "String types (std::basic_string, and std::basic_string_view) "
5397
450k
        "need to use std::char_traits. Strings with custom Traits are "
5398
450k
        "not supported.");
5399
450k
    static_assert(!std::is_same_v<T, file_marker_found>,
5400
450k
                  "\n"
5401
450k
                  "Unsupported range type given as input to a scanning "
5402
450k
                  "function.\n"
5403
450k
                  "file_marker_found cannot be used as an "
5404
450k
                  "source range type to scn::scan.\n"
5405
450k
                  "To read from stdin, use scn::input or scn::prompt, "
5406
450k
                  "and do not provide an explicit source range, "
5407
450k
                  "or use scn::scan with a FILE* directly.");
5408
450k
    static_assert(!std::is_same_v<T, insufficient_range>,
5409
450k
                  "\n"
5410
450k
                  "Unsupported range type given as input to a scanning "
5411
450k
                  "function.\n"
5412
450k
                  "In order to be scannable, a range needs to satisfy "
5413
450k
                  "`forward_range`. `input_range` is not sufficient.");
5414
450k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5415
450k
                  "\n"
5416
450k
                  "Unsupported range type given as input to a scanning "
5417
450k
                  "function.\n"
5418
450k
                  "A range needs to model forward_range and have a valid "
5419
450k
                  "character type (char or wchar_t) to be scannable.\n"
5420
450k
                  "Examples of scannable ranges are std::string, "
5421
450k
                  "std::string_view, "
5422
450k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5423
450k
                  "See the scnlib documentation for more details.");
5424
5425
450k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5426
450k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
5379
449k
{
5380
449k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5381
5382
449k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5383
449k
                  "\n"
5384
449k
                  "Unsupported range type given as input to a scanning "
5385
449k
                  "function.\n"
5386
449k
                  "A range needs to have a character type (value type) "
5387
449k
                  "of either `char` or `wchar_t` to be scannable.\n"
5388
449k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5389
449k
                  "to be included.\n"
5390
449k
                  "See the scnlib documentation for more details.");
5391
449k
    static_assert(
5392
449k
        !std::is_same_v<T, custom_char_traits>,
5393
449k
        "\n"
5394
449k
        "Unsupported range type given as input to a scanning "
5395
449k
        "function.\n"
5396
449k
        "String types (std::basic_string, and std::basic_string_view) "
5397
449k
        "need to use std::char_traits. Strings with custom Traits are "
5398
449k
        "not supported.");
5399
449k
    static_assert(!std::is_same_v<T, file_marker_found>,
5400
449k
                  "\n"
5401
449k
                  "Unsupported range type given as input to a scanning "
5402
449k
                  "function.\n"
5403
449k
                  "file_marker_found cannot be used as an "
5404
449k
                  "source range type to scn::scan.\n"
5405
449k
                  "To read from stdin, use scn::input or scn::prompt, "
5406
449k
                  "and do not provide an explicit source range, "
5407
449k
                  "or use scn::scan with a FILE* directly.");
5408
449k
    static_assert(!std::is_same_v<T, insufficient_range>,
5409
449k
                  "\n"
5410
449k
                  "Unsupported range type given as input to a scanning "
5411
449k
                  "function.\n"
5412
449k
                  "In order to be scannable, a range needs to satisfy "
5413
449k
                  "`forward_range`. `input_range` is not sufficient.");
5414
449k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5415
449k
                  "\n"
5416
449k
                  "Unsupported range type given as input to a scanning "
5417
449k
                  "function.\n"
5418
449k
                  "A range needs to model forward_range and have a valid "
5419
449k
                  "character type (char or wchar_t) to be scannable.\n"
5420
449k
                  "Examples of scannable ranges are std::string, "
5421
449k
                  "std::string_view, "
5422
449k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5423
449k
                  "See the scnlib documentation for more details.");
5424
5425
449k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5426
449k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
5379
184k
{
5380
184k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5381
5382
184k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5383
184k
                  "\n"
5384
184k
                  "Unsupported range type given as input to a scanning "
5385
184k
                  "function.\n"
5386
184k
                  "A range needs to have a character type (value type) "
5387
184k
                  "of either `char` or `wchar_t` to be scannable.\n"
5388
184k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5389
184k
                  "to be included.\n"
5390
184k
                  "See the scnlib documentation for more details.");
5391
184k
    static_assert(
5392
184k
        !std::is_same_v<T, custom_char_traits>,
5393
184k
        "\n"
5394
184k
        "Unsupported range type given as input to a scanning "
5395
184k
        "function.\n"
5396
184k
        "String types (std::basic_string, and std::basic_string_view) "
5397
184k
        "need to use std::char_traits. Strings with custom Traits are "
5398
184k
        "not supported.");
5399
184k
    static_assert(!std::is_same_v<T, file_marker_found>,
5400
184k
                  "\n"
5401
184k
                  "Unsupported range type given as input to a scanning "
5402
184k
                  "function.\n"
5403
184k
                  "file_marker_found cannot be used as an "
5404
184k
                  "source range type to scn::scan.\n"
5405
184k
                  "To read from stdin, use scn::input or scn::prompt, "
5406
184k
                  "and do not provide an explicit source range, "
5407
184k
                  "or use scn::scan with a FILE* directly.");
5408
184k
    static_assert(!std::is_same_v<T, insufficient_range>,
5409
184k
                  "\n"
5410
184k
                  "Unsupported range type given as input to a scanning "
5411
184k
                  "function.\n"
5412
184k
                  "In order to be scannable, a range needs to satisfy "
5413
184k
                  "`forward_range`. `input_range` is not sufficient.");
5414
184k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5415
184k
                  "\n"
5416
184k
                  "Unsupported range type given as input to a scanning "
5417
184k
                  "function.\n"
5418
184k
                  "A range needs to model forward_range and have a valid "
5419
184k
                  "character type (char or wchar_t) to be scannable.\n"
5420
184k
                  "Examples of scannable ranges are std::string, "
5421
184k
                  "std::string_view, "
5422
184k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5423
184k
                  "See the scnlib documentation for more details.");
5424
5425
184k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5426
184k
}
auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
5379
184k
{
5380
184k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
5381
5382
184k
    static_assert(!std::is_same_v<T, invalid_char_type>,
5383
184k
                  "\n"
5384
184k
                  "Unsupported range type given as input to a scanning "
5385
184k
                  "function.\n"
5386
184k
                  "A range needs to have a character type (value type) "
5387
184k
                  "of either `char` or `wchar_t` to be scannable.\n"
5388
184k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
5389
184k
                  "to be included.\n"
5390
184k
                  "See the scnlib documentation for more details.");
5391
184k
    static_assert(
5392
184k
        !std::is_same_v<T, custom_char_traits>,
5393
184k
        "\n"
5394
184k
        "Unsupported range type given as input to a scanning "
5395
184k
        "function.\n"
5396
184k
        "String types (std::basic_string, and std::basic_string_view) "
5397
184k
        "need to use std::char_traits. Strings with custom Traits are "
5398
184k
        "not supported.");
5399
184k
    static_assert(!std::is_same_v<T, file_marker_found>,
5400
184k
                  "\n"
5401
184k
                  "Unsupported range type given as input to a scanning "
5402
184k
                  "function.\n"
5403
184k
                  "file_marker_found cannot be used as an "
5404
184k
                  "source range type to scn::scan.\n"
5405
184k
                  "To read from stdin, use scn::input or scn::prompt, "
5406
184k
                  "and do not provide an explicit source range, "
5407
184k
                  "or use scn::scan with a FILE* directly.");
5408
184k
    static_assert(!std::is_same_v<T, insufficient_range>,
5409
184k
                  "\n"
5410
184k
                  "Unsupported range type given as input to a scanning "
5411
184k
                  "function.\n"
5412
184k
                  "In order to be scannable, a range needs to satisfy "
5413
184k
                  "`forward_range`. `input_range` is not sufficient.");
5414
184k
    static_assert(!std::is_same_v<T, invalid_input_range>,
5415
184k
                  "\n"
5416
184k
                  "Unsupported range type given as input to a scanning "
5417
184k
                  "function.\n"
5418
184k
                  "A range needs to model forward_range and have a valid "
5419
184k
                  "character type (char or wchar_t) to be scannable.\n"
5420
184k
                  "Examples of scannable ranges are std::string, "
5421
184k
                  "std::string_view, "
5422
184k
                  "std::vector<char>, and scn::istreambuf_view.\n"
5423
184k
                  "See the scnlib documentation for more details.");
5424
5425
184k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
5426
184k
}
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: auto scn::v4::detail::make_scan_buffer<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> const&)
5427
5428
template <
5429
    typename Range,
5430
    std::enable_if_t<
5431
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
5432
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
5433
auto make_scan_buffer(Range&&) = delete;
5434
}  // namespace detail
5435
5436
/////////////////////////////////////////////////////////////////
5437
// Argument type erasure
5438
/////////////////////////////////////////////////////////////////
5439
5440
namespace detail {
5441
enum class arg_type : unsigned char {
5442
    none_type,
5443
    schar_type,
5444
    short_type,
5445
    int_type,
5446
    long_type,
5447
    llong_type,
5448
    int128_type,
5449
    uchar_type,
5450
    ushort_type,
5451
    uint_type,
5452
    ulong_type,
5453
    ullong_type,
5454
    uint128_type,
5455
    bool_type,
5456
    narrow_character_type,
5457
    wide_character_type,
5458
    code_point_type,
5459
    pointer_type,
5460
    float_type,
5461
    double_type,
5462
    ldouble_type,
5463
    narrow_string_view_type,
5464
    wide_string_view_type,
5465
    narrow_string_type,
5466
    wide_string_type,
5467
    narrow_regex_matches_type,
5468
    wide_regex_matches_type,
5469
    custom_type,
5470
    last_type = custom_type
5471
};
5472
5473
template <typename>
5474
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
5475
5476
template <typename T, typename CharT>
5477
struct arg_type_constant
5478
    : std::integral_constant<arg_type, arg_type::custom_type> {
5479
    using type = T;
5480
};
5481
5482
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
5483
    template <typename CharT>                             \
5484
    struct arg_type_constant<Type, CharT>                 \
5485
        : std::integral_constant<arg_type, arg_type::C> { \
5486
        using type = Type;                                \
5487
    };                                                    \
5488
    template <>                                           \
5489
    inline constexpr bool is_type_disabled<Type> = Disabled
5490
5491
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
5492
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
5493
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
5494
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
5495
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
5496
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
5497
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
5498
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
5499
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
5500
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
5501
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
5502
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
5503
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
5504
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
5505
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5506
SCN_TYPE_CONSTANT(const void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
5507
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
5508
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
5509
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
5510
SCN_TYPE_CONSTANT(std::string_view,
5511
                  narrow_string_view_type,
5512
                  SCN_DISABLE_TYPE_STRING_VIEW);
5513
SCN_TYPE_CONSTANT(std::wstring_view,
5514
                  wide_string_view_type,
5515
                  SCN_DISABLE_TYPE_STRING_VIEW);
5516
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
5517
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
5518
SCN_TYPE_CONSTANT(regex_matches, narrow_regex_matches_type, SCN_DISABLE_REGEX);
5519
SCN_TYPE_CONSTANT(wregex_matches, wide_regex_matches_type, SCN_DISABLE_REGEX);
5520
5521
#if SCN_HAS_INT128
5522
SCN_TYPE_CONSTANT(int128, int128_type, SCN_DISABLE_TYPE_INT128);
5523
SCN_TYPE_CONSTANT(uint128, uint128_type, SCN_DISABLE_TYPE_UINT128);
5524
#endif
5525
5526
#undef SCN_TYPE_CONSTANT
5527
5528
struct custom_value_type {
5529
    void* value;
5530
    auto (*scan)(void* arg, void* pctx, void* ctx) -> scan_expected<void>;
5531
};
5532
5533
struct unscannable {};
5534
struct unscannable_char : unscannable {};
5535
struct unscannable_const : unscannable {};
5536
struct unscannable_disabled : unscannable {
5537
    unscannable_disabled() = default;
5538
5539
    template <typename T>
5540
    constexpr unscannable_disabled(T&&)
5541
    {
5542
    }
5543
};
5544
5545
struct needs_context_tag {};
5546
5547
template <typename Context>
5548
struct context_tag {
5549
    using type = Context;
5550
};
5551
5552
template <typename T, typename Context>
5553
struct custom_wrapper {
5554
    using context_type = Context;
5555
    T& val;
5556
};
5557
5558
template <typename T, typename Scanner, typename ParseCtx>
5559
scan_expected<void> parse_custom_arg(T& arg, Scanner& s, ParseCtx& pctx)
5560
{
5561
#if SCN_HAS_EXCEPTIONS
5562
    auto fmt_it = pctx.begin();
5563
    try {
5564
        fmt_it = s.parse(pctx);
5565
    }
5566
    catch (const detail::scan_format_string_error_base& ex) {
5567
        // scan_error takes a const char*.
5568
        // scan_format_string_error (or, actually, std::runtime_error)
5569
        // stores a reference-counted string,
5570
        // that will go out of scope here.
5571
        // We need to provide a const char* that will stay in scope.
5572
        // If scan_format_string_error was thrown with a string literal,
5573
        // use that, otherwise refer to a thread_local std::string
5574
        if (const char* m = get_internal_literal_msg(ex)) {
5575
            return unexpected_scan_error(scan_error::invalid_format_string, m);
5576
        }
5577
        thread_local std::string err_msg{};
5578
        err_msg = ex.what();
5579
        return unexpected_scan_error(scan_error::invalid_format_string,
5580
                                     err_msg.c_str());
5581
    }
5582
#else
5583
    auto fmt_it = s.parse(pctx_ref);
5584
#endif
5585
    if (auto e = pctx.get_error(); SCN_UNLIKELY(!e)) {
5586
        return e;
5587
    }
5588
    pctx.advance_to(fmt_it);
5589
    return {};
5590
}
5591
5592
class arg_value {
5593
public:
5594
    // trivial default initialization in constexpr
5595
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
5596
    SCN_STD > SCN_STD_20
5597
    constexpr arg_value() = default;
5598
#else
5599
1.26M
    arg_value() = default;
5600
#endif
5601
5602
    template <typename T>
5603
1.26M
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5604
1.26M
    {
5605
1.26M
    }
scn::v4::detail::arg_value::arg_value<signed char>(signed char&)
Line
Count
Source
5603
207k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5604
207k
    {
5605
207k
    }
scn::v4::detail::arg_value::arg_value<unsigned char>(unsigned char&)
Line
Count
Source
5603
189k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5604
189k
    {
5605
189k
    }
scn::v4::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
5603
232k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5604
232k
    {
5605
232k
    }
scn::v4::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
5603
200k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5604
200k
    {
5605
200k
    }
scn::v4::detail::arg_value::arg_value<long long>(long long&)
Line
Count
Source
5603
235k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5604
235k
    {
5605
235k
    }
scn::v4::detail::arg_value::arg_value<unsigned long long>(unsigned long long&)
Line
Count
Source
5603
202k
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
5604
202k
    {
5605
202k
    }
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_value::arg_value<double>(double&)
5606
5607
    template <typename T, typename Context>
5608
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
5609
        : custom_value{static_cast<void*>(&val.val),
5610
                       scan_custom_arg<T, Context>}
5611
    {
5612
    }
5613
5614
    arg_value(unscannable);
5615
    arg_value(unscannable_char);
5616
    arg_value(unscannable_const);
5617
    arg_value(unscannable_disabled);
5618
5619
    union {
5620
        void* ref_value{nullptr};
5621
        custom_value_type custom_value;
5622
    };
5623
5624
private:
5625
    template <typename T, typename Context>
5626
    static scan_expected<void> scan_custom_arg(void* arg, void* pctx, void* ctx)
5627
    {
5628
        static_assert(!is_type_disabled<T>,
5629
                      "Scanning of custom types is disabled by "
5630
                      "SCN_DISABLE_TYPE_CUSTOM");
5631
        SCN_EXPECT(arg && pctx && ctx);
5632
5633
        using context_type = Context;
5634
        using parse_context_type = typename context_type::parse_context_type;
5635
        using scanner_type = typename context_type::template scanner_type<T>;
5636
5637
        auto s = scanner_type{};
5638
5639
        auto& arg_ref = *static_cast<T*>(arg);
5640
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
5641
        auto& ctx_ref = *static_cast<context_type*>(ctx);
5642
5643
        SCN_TRY_DISCARD(parse_custom_arg(arg_ref, s, pctx_ref));
5644
        SCN_TRY(it, s.scan(arg_ref, ctx_ref));
5645
        ctx_ref.advance_to(SCN_MOVE(it));
5646
5647
        return {};
5648
    }
5649
};
5650
5651
template <typename CharT>
5652
struct arg_mapper {
5653
    using char_type = CharT;
5654
    using other_char_type =
5655
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
5656
5657
#define SCN_ARG_MAPPER(T)                                                    \
5658
    static auto map(T& val)                                                  \
5659
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
5660
1.26M
    {                                                                        \
5661
1.26M
        return val;                                                          \
5662
1.26M
    }
scn::v4::detail::arg_mapper<char>::map(signed char&)
Line
Count
Source
5660
146k
    {                                                                        \
5661
146k
        return val;                                                          \
5662
146k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned char&)
Line
Count
Source
5660
128k
    {                                                                        \
5661
128k
        return val;                                                          \
5662
128k
    }
scn::v4::detail::arg_mapper<char>::map(int&)
Line
Count
Source
5660
170k
    {                                                                        \
5661
170k
        return val;                                                          \
5662
170k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
5660
139k
    {                                                                        \
5661
139k
        return val;                                                          \
5662
139k
    }
scn::v4::detail::arg_mapper<char>::map(long long&)
Line
Count
Source
5660
173k
    {                                                                        \
5661
173k
        return val;                                                          \
5662
173k
    }
scn::v4::detail::arg_mapper<char>::map(unsigned long long&)
Line
Count
Source
5660
140k
    {                                                                        \
5661
140k
        return val;                                                          \
5662
140k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(signed char&)
Line
Count
Source
5660
61.4k
    {                                                                        \
5661
61.4k
        return val;                                                          \
5662
61.4k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned char&)
Line
Count
Source
5660
61.3k
    {                                                                        \
5661
61.3k
        return val;                                                          \
5662
61.3k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
5660
61.6k
    {                                                                        \
5661
61.6k
        return val;                                                          \
5662
61.6k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
5660
61.4k
    {                                                                        \
5661
61.4k
        return val;                                                          \
5662
61.4k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(long long&)
Line
Count
Source
5660
61.8k
    {                                                                        \
5661
61.8k
        return val;                                                          \
5662
61.8k
    }
scn::v4::detail::arg_mapper<wchar_t>::map(unsigned long long&)
Line
Count
Source
5660
61.6k
    {                                                                        \
5661
61.6k
        return val;                                                          \
5662
61.6k
    }
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<char>::map(double&)
Unexecuted instantiation: scn::v4::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5663
5664
    SCN_ARG_MAPPER(signed char)
5665
    SCN_ARG_MAPPER(short)
5666
    SCN_ARG_MAPPER(int)
5667
    SCN_ARG_MAPPER(long)
5668
    SCN_ARG_MAPPER(long long)
5669
    SCN_ARG_MAPPER(unsigned char)
5670
    SCN_ARG_MAPPER(unsigned short)
5671
    SCN_ARG_MAPPER(unsigned)
5672
    SCN_ARG_MAPPER(unsigned long)
5673
    SCN_ARG_MAPPER(unsigned long long)
5674
    SCN_ARG_MAPPER(wchar_t)
5675
    SCN_ARG_MAPPER(char32_t)
5676
    SCN_ARG_MAPPER(bool)
5677
    SCN_ARG_MAPPER(void*)
5678
    SCN_ARG_MAPPER(const void*)
5679
    SCN_ARG_MAPPER(float)
5680
    SCN_ARG_MAPPER(double)
5681
    SCN_ARG_MAPPER(long double)
5682
5683
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
5684
    SCN_ARG_MAPPER(std::string)
5685
    SCN_ARG_MAPPER(std::wstring)
5686
5687
#if SCN_HAS_INT128
5688
    SCN_ARG_MAPPER(int128)
5689
    SCN_ARG_MAPPER(uint128)
5690
#endif
5691
5692
#undef SCN_ARG_MAPPER
5693
5694
    static decltype(auto) map(char& val)
5695
    {
5696
        if constexpr (std::is_same_v<char_type, char> &&
5697
                      !is_type_disabled<char_type>) {
5698
            return val;
5699
        }
5700
        else if constexpr (is_type_disabled<char_type>) {
5701
            return unscannable_disabled{val};
5702
        }
5703
        else {
5704
            SCN_UNUSED(val);
5705
            return unscannable_char{};
5706
        }
5707
    }
5708
5709
    static decltype(auto) map(basic_regex_matches<char_type>& val)
5710
    {
5711
        if constexpr (is_type_disabled<char_type>) {
5712
            return unscannable_disabled{val};
5713
        }
5714
        else {
5715
            return val;
5716
        }
5717
    }
5718
5719
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5720
    {
5721
        return {};
5722
    }
5723
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5724
    {
5725
        return {};
5726
    }
5727
5728
    template <typename T,
5729
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5730
    static needs_context_tag map(T&)
5731
    {
5732
        return {};
5733
    }
5734
5735
    template <typename T,
5736
              typename Context,
5737
              std::void_t<decltype(scanner<T, char_type>{})>* = nullptr>
5738
    static custom_wrapper<T, Context> map(T& val, context_tag<Context>)
5739
    {
5740
        return {val};
5741
    }
5742
5743
    static unscannable map(...)
5744
    {
5745
        return {};
5746
    }
5747
};
5748
5749
template <typename T, typename CharT>
5750
using mapped_type_constant = arg_type_constant<
5751
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5752
    CharT>;
5753
5754
template <typename T, typename CharT>
5755
using is_scannable = std::integral_constant<
5756
    bool,
5757
    !std::is_base_of_v<
5758
        unscannable,
5759
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5760
5761
constexpr std::size_t packed_arg_bits = 5;
5762
static_assert((1 << packed_arg_bits) >= static_cast<int>(arg_type::last_type));
5763
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5764
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5765
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5766
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5767
5768
template <typename>
5769
constexpr size_t encode_types_impl()
5770
0
{
5771
0
    return 0;
5772
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t>()
5773
template <typename CharT, typename T, typename... Others>
5774
constexpr size_t encode_types_impl()
5775
0
{
5776
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5777
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5778
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
5779
5780
template <typename CharT, typename... Ts>
5781
constexpr size_t encode_types()
5782
0
{
5783
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5784
0
        return sizeof...(Ts) |
5785
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5786
0
    }
5787
0
    else {
5788
0
        SCN_EXPECT(false);
5789
0
        SCN_UNREACHABLE;
5790
0
    }
5791
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
5792
5793
template <typename T, typename Arg>
5794
constexpr auto make_value_impl(Arg&& arg)
5795
1.26M
{
5796
1.26M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5797
1.26M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5798
5799
1.26M
    constexpr bool scannable_char =
5800
1.26M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5801
1.26M
    static_assert(scannable_char,
5802
1.26M
                  "Cannot scan an argument of an unsupported character "
5803
1.26M
                  "type (i.e. char from a wchar_t source)");
5804
5805
1.26M
    constexpr bool scannable_const =
5806
1.26M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5807
1.26M
    static_assert(scannable_const, "Cannot scan a const argument");
5808
5809
1.26M
    constexpr bool scannable_disabled =
5810
1.26M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5811
1.26M
    static_assert(scannable_disabled,
5812
1.26M
                  "Cannot scan an argument that has been disabled by "
5813
1.26M
                  "flag (SCN_DISABLE_TYPE_*)");
5814
5815
1.26M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5816
1.26M
    static_assert(
5817
1.26M
        scannable,
5818
1.26M
        "Cannot scan an argument. To make a type T scannable, provide "
5819
1.26M
        "a scn::scanner<T, CharT> specialization.");
5820
5821
1.26M
    return arg_value{arg};
5822
1.26M
}
auto scn::v4::detail::make_value_impl<signed char, signed char&>(signed char&)
Line
Count
Source
5795
207k
{
5796
207k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5797
207k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5798
5799
207k
    constexpr bool scannable_char =
5800
207k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5801
207k
    static_assert(scannable_char,
5802
207k
                  "Cannot scan an argument of an unsupported character "
5803
207k
                  "type (i.e. char from a wchar_t source)");
5804
5805
207k
    constexpr bool scannable_const =
5806
207k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5807
207k
    static_assert(scannable_const, "Cannot scan a const argument");
5808
5809
207k
    constexpr bool scannable_disabled =
5810
207k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5811
207k
    static_assert(scannable_disabled,
5812
207k
                  "Cannot scan an argument that has been disabled by "
5813
207k
                  "flag (SCN_DISABLE_TYPE_*)");
5814
5815
207k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5816
207k
    static_assert(
5817
207k
        scannable,
5818
207k
        "Cannot scan an argument. To make a type T scannable, provide "
5819
207k
        "a scn::scanner<T, CharT> specialization.");
5820
5821
207k
    return arg_value{arg};
5822
207k
}
auto scn::v4::detail::make_value_impl<unsigned char, unsigned char&>(unsigned char&)
Line
Count
Source
5795
189k
{
5796
189k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5797
189k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5798
5799
189k
    constexpr bool scannable_char =
5800
189k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5801
189k
    static_assert(scannable_char,
5802
189k
                  "Cannot scan an argument of an unsupported character "
5803
189k
                  "type (i.e. char from a wchar_t source)");
5804
5805
189k
    constexpr bool scannable_const =
5806
189k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5807
189k
    static_assert(scannable_const, "Cannot scan a const argument");
5808
5809
189k
    constexpr bool scannable_disabled =
5810
189k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5811
189k
    static_assert(scannable_disabled,
5812
189k
                  "Cannot scan an argument that has been disabled by "
5813
189k
                  "flag (SCN_DISABLE_TYPE_*)");
5814
5815
189k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5816
189k
    static_assert(
5817
189k
        scannable,
5818
189k
        "Cannot scan an argument. To make a type T scannable, provide "
5819
189k
        "a scn::scanner<T, CharT> specialization.");
5820
5821
189k
    return arg_value{arg};
5822
189k
}
auto scn::v4::detail::make_value_impl<int, int&>(int&)
Line
Count
Source
5795
232k
{
5796
232k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5797
232k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5798
5799
232k
    constexpr bool scannable_char =
5800
232k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5801
232k
    static_assert(scannable_char,
5802
232k
                  "Cannot scan an argument of an unsupported character "
5803
232k
                  "type (i.e. char from a wchar_t source)");
5804
5805
232k
    constexpr bool scannable_const =
5806
232k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5807
232k
    static_assert(scannable_const, "Cannot scan a const argument");
5808
5809
232k
    constexpr bool scannable_disabled =
5810
232k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5811
232k
    static_assert(scannable_disabled,
5812
232k
                  "Cannot scan an argument that has been disabled by "
5813
232k
                  "flag (SCN_DISABLE_TYPE_*)");
5814
5815
232k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5816
232k
    static_assert(
5817
232k
        scannable,
5818
232k
        "Cannot scan an argument. To make a type T scannable, provide "
5819
232k
        "a scn::scanner<T, CharT> specialization.");
5820
5821
232k
    return arg_value{arg};
5822
232k
}
auto scn::v4::detail::make_value_impl<unsigned int, unsigned int&>(unsigned int&)
Line
Count
Source
5795
200k
{
5796
200k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5797
200k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5798
5799
200k
    constexpr bool scannable_char =
5800
200k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5801
200k
    static_assert(scannable_char,
5802
200k
                  "Cannot scan an argument of an unsupported character "
5803
200k
                  "type (i.e. char from a wchar_t source)");
5804
5805
200k
    constexpr bool scannable_const =
5806
200k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5807
200k
    static_assert(scannable_const, "Cannot scan a const argument");
5808
5809
200k
    constexpr bool scannable_disabled =
5810
200k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5811
200k
    static_assert(scannable_disabled,
5812
200k
                  "Cannot scan an argument that has been disabled by "
5813
200k
                  "flag (SCN_DISABLE_TYPE_*)");
5814
5815
200k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5816
200k
    static_assert(
5817
200k
        scannable,
5818
200k
        "Cannot scan an argument. To make a type T scannable, provide "
5819
200k
        "a scn::scanner<T, CharT> specialization.");
5820
5821
200k
    return arg_value{arg};
5822
200k
}
auto scn::v4::detail::make_value_impl<long long, long long&>(long long&)
Line
Count
Source
5795
235k
{
5796
235k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5797
235k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5798
5799
235k
    constexpr bool scannable_char =
5800
235k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5801
235k
    static_assert(scannable_char,
5802
235k
                  "Cannot scan an argument of an unsupported character "
5803
235k
                  "type (i.e. char from a wchar_t source)");
5804
5805
235k
    constexpr bool scannable_const =
5806
235k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5807
235k
    static_assert(scannable_const, "Cannot scan a const argument");
5808
5809
235k
    constexpr bool scannable_disabled =
5810
235k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5811
235k
    static_assert(scannable_disabled,
5812
235k
                  "Cannot scan an argument that has been disabled by "
5813
235k
                  "flag (SCN_DISABLE_TYPE_*)");
5814
5815
235k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5816
235k
    static_assert(
5817
235k
        scannable,
5818
235k
        "Cannot scan an argument. To make a type T scannable, provide "
5819
235k
        "a scn::scanner<T, CharT> specialization.");
5820
5821
235k
    return arg_value{arg};
5822
235k
}
auto scn::v4::detail::make_value_impl<unsigned long long, unsigned long long&>(unsigned long long&)
Line
Count
Source
5795
202k
{
5796
202k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5797
202k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5798
5799
202k
    constexpr bool scannable_char =
5800
202k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5801
202k
    static_assert(scannable_char,
5802
202k
                  "Cannot scan an argument of an unsupported character "
5803
202k
                  "type (i.e. char from a wchar_t source)");
5804
5805
202k
    constexpr bool scannable_const =
5806
202k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5807
202k
    static_assert(scannable_const, "Cannot scan a const argument");
5808
5809
202k
    constexpr bool scannable_disabled =
5810
202k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5811
202k
    static_assert(scannable_disabled,
5812
202k
                  "Cannot scan an argument that has been disabled by "
5813
202k
                  "flag (SCN_DISABLE_TYPE_*)");
5814
5815
202k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5816
202k
    static_assert(
5817
202k
        scannable,
5818
202k
        "Cannot scan an argument. To make a type T scannable, provide "
5819
202k
        "a scn::scanner<T, CharT> specialization.");
5820
5821
202k
    return arg_value{arg};
5822
202k
}
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value_impl<double, double&>(double&)
5823
5824
template <typename Context, typename T>
5825
constexpr auto make_value(T& value)
5826
1.26M
{
5827
1.26M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
1.26M
                                  needs_context_tag>) {
5831
1.26M
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
1.26M
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(signed char&)
Line
Count
Source
5826
146k
{
5827
146k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
146k
                                  needs_context_tag>) {
5831
146k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
146k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(unsigned char&)
Line
Count
Source
5826
128k
{
5827
128k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
128k
                                  needs_context_tag>) {
5831
128k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
128k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
5826
170k
{
5827
170k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
170k
                                  needs_context_tag>) {
5831
170k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
170k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
5826
139k
{
5827
139k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
139k
                                  needs_context_tag>) {
5831
139k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
139k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(long long&)
Line
Count
Source
5826
173k
{
5827
173k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
173k
                                  needs_context_tag>) {
5831
173k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
173k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5826
140k
{
5827
140k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
140k
                                  needs_context_tag>) {
5831
140k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
140k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(signed char&)
Line
Count
Source
5826
61.4k
{
5827
61.4k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
61.4k
                                  needs_context_tag>) {
5831
61.4k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
61.4k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5826
61.3k
{
5827
61.3k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
61.3k
                                  needs_context_tag>) {
5831
61.3k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
61.3k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
5826
61.6k
{
5827
61.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
61.6k
                                  needs_context_tag>) {
5831
61.6k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
61.6k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5826
61.4k
{
5827
61.4k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
61.4k
                                  needs_context_tag>) {
5831
61.4k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
61.4k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(long long&)
Line
Count
Source
5826
61.8k
{
5827
61.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
61.8k
                                  needs_context_tag>) {
5831
61.8k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
61.8k
}
auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5826
61.6k
{
5827
61.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5828
5829
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5830
61.6k
                                  needs_context_tag>) {
5831
61.6k
        return make_value_impl<T>(SCN_FWD(arg));
5832
    }
5833
    else {
5834
        return make_value_impl<T>(arg_mapper<typename Context::char_type>().map(
5835
            value, context_tag<Context>{}));
5836
    }
5837
61.6k
}
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(double&)
Unexecuted instantiation: auto scn::v4::detail::make_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5838
5839
template <typename... Args>
5840
constexpr bool check_scan_arg_types()
5841
1.26M
{
5842
1.26M
    constexpr bool default_constructible_constraint =
5843
1.26M
        std::conjunction_v<std::is_default_constructible<Args>...>;
5844
1.26M
    static_assert(default_constructible_constraint,
5845
1.26M
                  "Scan argument types must be default constructible");
5846
5847
1.26M
    constexpr bool destructible_constraint =
5848
1.26M
        std::conjunction_v<std::is_destructible<Args>...>;
5849
1.26M
    static_assert(destructible_constraint,
5850
1.26M
                  "Scan argument types must be Destructible");
5851
5852
1.26M
    constexpr bool non_reference_constraint =
5853
1.26M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5854
1.26M
    static_assert(non_reference_constraint,
5855
1.26M
                  "Scan argument types must not be references");
5856
5857
1.26M
    constexpr bool movable_constraint =
5858
1.26M
        std::conjunction_v<std::is_move_constructible<Args>...>;
5859
1.26M
    static_assert(movable_constraint,
5860
1.26M
                  "Scan argument types must be move constructible");
5861
5862
1.26M
    return default_constructible_constraint && destructible_constraint &&
5863
1.26M
           non_reference_constraint && movable_constraint;
5864
1.26M
}
bool scn::v4::detail::check_scan_arg_types<signed char>()
Line
Count
Source
5841
207k
{
5842
207k
    constexpr bool default_constructible_constraint =
5843
207k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5844
207k
    static_assert(default_constructible_constraint,
5845
207k
                  "Scan argument types must be default constructible");
5846
5847
207k
    constexpr bool destructible_constraint =
5848
207k
        std::conjunction_v<std::is_destructible<Args>...>;
5849
207k
    static_assert(destructible_constraint,
5850
207k
                  "Scan argument types must be Destructible");
5851
5852
207k
    constexpr bool non_reference_constraint =
5853
207k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5854
207k
    static_assert(non_reference_constraint,
5855
207k
                  "Scan argument types must not be references");
5856
5857
207k
    constexpr bool movable_constraint =
5858
207k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5859
207k
    static_assert(movable_constraint,
5860
207k
                  "Scan argument types must be move constructible");
5861
5862
207k
    return default_constructible_constraint && destructible_constraint &&
5863
207k
           non_reference_constraint && movable_constraint;
5864
207k
}
bool scn::v4::detail::check_scan_arg_types<unsigned char>()
Line
Count
Source
5841
189k
{
5842
189k
    constexpr bool default_constructible_constraint =
5843
189k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5844
189k
    static_assert(default_constructible_constraint,
5845
189k
                  "Scan argument types must be default constructible");
5846
5847
189k
    constexpr bool destructible_constraint =
5848
189k
        std::conjunction_v<std::is_destructible<Args>...>;
5849
189k
    static_assert(destructible_constraint,
5850
189k
                  "Scan argument types must be Destructible");
5851
5852
189k
    constexpr bool non_reference_constraint =
5853
189k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5854
189k
    static_assert(non_reference_constraint,
5855
189k
                  "Scan argument types must not be references");
5856
5857
189k
    constexpr bool movable_constraint =
5858
189k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5859
189k
    static_assert(movable_constraint,
5860
189k
                  "Scan argument types must be move constructible");
5861
5862
189k
    return default_constructible_constraint && destructible_constraint &&
5863
189k
           non_reference_constraint && movable_constraint;
5864
189k
}
bool scn::v4::detail::check_scan_arg_types<int>()
Line
Count
Source
5841
232k
{
5842
232k
    constexpr bool default_constructible_constraint =
5843
232k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5844
232k
    static_assert(default_constructible_constraint,
5845
232k
                  "Scan argument types must be default constructible");
5846
5847
232k
    constexpr bool destructible_constraint =
5848
232k
        std::conjunction_v<std::is_destructible<Args>...>;
5849
232k
    static_assert(destructible_constraint,
5850
232k
                  "Scan argument types must be Destructible");
5851
5852
232k
    constexpr bool non_reference_constraint =
5853
232k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5854
232k
    static_assert(non_reference_constraint,
5855
232k
                  "Scan argument types must not be references");
5856
5857
232k
    constexpr bool movable_constraint =
5858
232k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5859
232k
    static_assert(movable_constraint,
5860
232k
                  "Scan argument types must be move constructible");
5861
5862
232k
    return default_constructible_constraint && destructible_constraint &&
5863
232k
           non_reference_constraint && movable_constraint;
5864
232k
}
bool scn::v4::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5841
200k
{
5842
200k
    constexpr bool default_constructible_constraint =
5843
200k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5844
200k
    static_assert(default_constructible_constraint,
5845
200k
                  "Scan argument types must be default constructible");
5846
5847
200k
    constexpr bool destructible_constraint =
5848
200k
        std::conjunction_v<std::is_destructible<Args>...>;
5849
200k
    static_assert(destructible_constraint,
5850
200k
                  "Scan argument types must be Destructible");
5851
5852
200k
    constexpr bool non_reference_constraint =
5853
200k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5854
200k
    static_assert(non_reference_constraint,
5855
200k
                  "Scan argument types must not be references");
5856
5857
200k
    constexpr bool movable_constraint =
5858
200k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5859
200k
    static_assert(movable_constraint,
5860
200k
                  "Scan argument types must be move constructible");
5861
5862
200k
    return default_constructible_constraint && destructible_constraint &&
5863
200k
           non_reference_constraint && movable_constraint;
5864
200k
}
bool scn::v4::detail::check_scan_arg_types<long long>()
Line
Count
Source
5841
235k
{
5842
235k
    constexpr bool default_constructible_constraint =
5843
235k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5844
235k
    static_assert(default_constructible_constraint,
5845
235k
                  "Scan argument types must be default constructible");
5846
5847
235k
    constexpr bool destructible_constraint =
5848
235k
        std::conjunction_v<std::is_destructible<Args>...>;
5849
235k
    static_assert(destructible_constraint,
5850
235k
                  "Scan argument types must be Destructible");
5851
5852
235k
    constexpr bool non_reference_constraint =
5853
235k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5854
235k
    static_assert(non_reference_constraint,
5855
235k
                  "Scan argument types must not be references");
5856
5857
235k
    constexpr bool movable_constraint =
5858
235k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5859
235k
    static_assert(movable_constraint,
5860
235k
                  "Scan argument types must be move constructible");
5861
5862
235k
    return default_constructible_constraint && destructible_constraint &&
5863
235k
           non_reference_constraint && movable_constraint;
5864
235k
}
bool scn::v4::detail::check_scan_arg_types<unsigned long long>()
Line
Count
Source
5841
202k
{
5842
202k
    constexpr bool default_constructible_constraint =
5843
202k
        std::conjunction_v<std::is_default_constructible<Args>...>;
5844
202k
    static_assert(default_constructible_constraint,
5845
202k
                  "Scan argument types must be default constructible");
5846
5847
202k
    constexpr bool destructible_constraint =
5848
202k
        std::conjunction_v<std::is_destructible<Args>...>;
5849
202k
    static_assert(destructible_constraint,
5850
202k
                  "Scan argument types must be Destructible");
5851
5852
202k
    constexpr bool non_reference_constraint =
5853
202k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>;
5854
202k
    static_assert(non_reference_constraint,
5855
202k
                  "Scan argument types must not be references");
5856
5857
202k
    constexpr bool movable_constraint =
5858
202k
        std::conjunction_v<std::is_move_constructible<Args>...>;
5859
202k
    static_assert(movable_constraint,
5860
202k
                  "Scan argument types must be move constructible");
5861
5862
202k
    return default_constructible_constraint && destructible_constraint &&
5863
202k
           non_reference_constraint && movable_constraint;
5864
202k
}
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: bool scn::v4::detail::check_scan_arg_types<double>()
5865
5866
enum class scan_arg_store_kind {
5867
    // only built-in types (no custom types), packed
5868
    builtin,
5869
5870
    packed,
5871
    unpacked
5872
};
5873
5874
template <typename Context, typename T>
5875
constexpr basic_scan_arg<Context> make_arg(T& value)
5876
80.1k
{
5877
80.1k
    check_scan_arg_types<T>();
5878
5879
80.1k
    basic_scan_arg<Context> arg;
5880
80.1k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
80.1k
    arg.m_value = make_value<Context>(value);
5882
80.1k
    return arg;
5883
80.1k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(signed char&)
Line
Count
Source
5876
10.5k
{
5877
10.5k
    check_scan_arg_types<T>();
5878
5879
10.5k
    basic_scan_arg<Context> arg;
5880
10.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
10.5k
    arg.m_value = make_value<Context>(value);
5882
10.5k
    return arg;
5883
10.5k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(unsigned char&)
Line
Count
Source
5876
8.82k
{
5877
8.82k
    check_scan_arg_types<T>();
5878
5879
8.82k
    basic_scan_arg<Context> arg;
5880
8.82k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
8.82k
    arg.m_value = make_value<Context>(value);
5882
8.82k
    return arg;
5883
8.82k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(int&)
Line
Count
Source
5876
12.0k
{
5877
12.0k
    check_scan_arg_types<T>();
5878
5879
12.0k
    basic_scan_arg<Context> arg;
5880
12.0k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
12.0k
    arg.m_value = make_value<Context>(value);
5882
12.0k
    return arg;
5883
12.0k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(unsigned int&)
Line
Count
Source
5876
9.68k
{
5877
9.68k
    check_scan_arg_types<T>();
5878
5879
9.68k
    basic_scan_arg<Context> arg;
5880
9.68k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
9.68k
    arg.m_value = make_value<Context>(value);
5882
9.68k
    return arg;
5883
9.68k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(long long&)
Line
Count
Source
5876
12.2k
{
5877
12.2k
    check_scan_arg_types<T>();
5878
5879
12.2k
    basic_scan_arg<Context> arg;
5880
12.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
12.2k
    arg.m_value = make_value<Context>(value);
5882
12.2k
    return arg;
5883
12.2k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5876
9.81k
{
5877
9.81k
    check_scan_arg_types<T>();
5878
5879
9.81k
    basic_scan_arg<Context> arg;
5880
9.81k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
9.81k
    arg.m_value = make_value<Context>(value);
5882
9.81k
    return arg;
5883
9.81k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(signed char&)
Line
Count
Source
5876
2.82k
{
5877
2.82k
    check_scan_arg_types<T>();
5878
5879
2.82k
    basic_scan_arg<Context> arg;
5880
2.82k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
2.82k
    arg.m_value = make_value<Context>(value);
5882
2.82k
    return arg;
5883
2.82k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5876
2.80k
{
5877
2.80k
    check_scan_arg_types<T>();
5878
5879
2.80k
    basic_scan_arg<Context> arg;
5880
2.80k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
2.80k
    arg.m_value = make_value<Context>(value);
5882
2.80k
    return arg;
5883
2.80k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(int&)
Line
Count
Source
5876
2.83k
{
5877
2.83k
    check_scan_arg_types<T>();
5878
5879
2.83k
    basic_scan_arg<Context> arg;
5880
2.83k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
2.83k
    arg.m_value = make_value<Context>(value);
5882
2.83k
    return arg;
5883
2.83k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5876
2.81k
{
5877
2.81k
    check_scan_arg_types<T>();
5878
5879
2.81k
    basic_scan_arg<Context> arg;
5880
2.81k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
2.81k
    arg.m_value = make_value<Context>(value);
5882
2.81k
    return arg;
5883
2.81k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(long long&)
Line
Count
Source
5876
2.85k
{
5877
2.85k
    check_scan_arg_types<T>();
5878
5879
2.85k
    basic_scan_arg<Context> arg;
5880
2.85k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
2.85k
    arg.m_value = make_value<Context>(value);
5882
2.85k
    return arg;
5883
2.85k
}
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > scn::v4::detail::make_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5876
2.83k
{
5877
2.83k
    check_scan_arg_types<T>();
5878
5879
2.83k
    basic_scan_arg<Context> arg;
5880
2.83k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5881
2.83k
    arg.m_value = make_value<Context>(value);
5882
2.83k
    return arg;
5883
2.83k
}
5884
5885
template <scan_arg_store_kind Kind,
5886
          typename Context,
5887
          arg_type,
5888
          typename T,
5889
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5890
constexpr void* make_arg(T& value)
5891
1.18M
{
5892
1.18M
    return make_value<Context>(value).ref_value;
5893
1.18M
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5891
135k
{
5892
135k
    return make_value<Context>(value).ref_value;
5893
135k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)7, unsigned char, void>(unsigned char&)
Line
Count
Source
5891
119k
{
5892
119k
    return make_value<Context>(value).ref_value;
5893
119k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5891
158k
{
5892
158k
    return make_value<Context>(value).ref_value;
5893
158k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)9, unsigned int, void>(unsigned int&)
Line
Count
Source
5891
129k
{
5892
129k
    return make_value<Context>(value).ref_value;
5893
129k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5891
161k
{
5892
161k
    return make_value<Context>(value).ref_value;
5893
161k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)11, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5891
131k
{
5892
131k
    return make_value<Context>(value).ref_value;
5893
131k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5891
58.6k
{
5892
58.6k
    return make_value<Context>(value).ref_value;
5893
58.6k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)7, unsigned char, void>(unsigned char&)
Line
Count
Source
5891
58.5k
{
5892
58.5k
    return make_value<Context>(value).ref_value;
5893
58.5k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5891
58.8k
{
5892
58.8k
    return make_value<Context>(value).ref_value;
5893
58.8k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)9, unsigned int, void>(unsigned int&)
Line
Count
Source
5891
58.6k
{
5892
58.6k
    return make_value<Context>(value).ref_value;
5893
58.6k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5891
59.0k
{
5892
59.0k
    return make_value<Context>(value).ref_value;
5893
59.0k
}
void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)11, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5891
58.8k
{
5892
58.8k
    return make_value<Context>(value).ref_value;
5893
58.8k
}
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)23, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, (scn::v4::detail::arg_type)19, double, void>(double&)
Unexecuted instantiation: void* scn::v4::detail::make_arg<(scn::v4::detail::scan_arg_store_kind)0, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, (scn::v4::detail::arg_type)23, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
5894
template <scan_arg_store_kind Kind,
5895
          typename Context,
5896
          arg_type,
5897
          typename T,
5898
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5899
constexpr arg_value make_arg(T& value)
5900
{
5901
    return make_value<Context>(value);
5902
}
5903
template <scan_arg_store_kind Kind,
5904
          typename Context,
5905
          arg_type,
5906
          typename T,
5907
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5908
constexpr basic_scan_arg<Context> make_arg(T&& value)
5909
{
5910
    return make_arg<Context>(SCN_FWD(value));
5911
}
5912
5913
template <typename Context>
5914
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5915
template <typename Context>
5916
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg);
5917
5918
template <typename Context>
5919
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg);
5920
template <typename Context>
5921
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg);
5922
5923
template <typename Visitor, typename Context>
5924
constexpr decltype(auto) visit_impl(Visitor&& vis,
5925
                                    basic_scan_arg<Context>& arg);
5926
}  // namespace detail
5927
5928
/**
5929
 * Type-erased scanning argument.
5930
 *
5931
 * Contains a pointer to the value contained in a `scan_arg_store`.
5932
 */
5933
template <typename Context>
5934
class basic_scan_arg {
5935
public:
5936
    /**
5937
     * Enables scanning of a user-defined type.
5938
     *
5939
     * Contains a pointer to the value contained in a `scan_arg_store`, and
5940
     * a callback for parsing the format string, and scanning the value.
5941
     *
5942
     * \see scn::visit_scan_arg
5943
     */
5944
    class handle {
5945
    public:
5946
        /**
5947
         * Parse the format string in `parse_ctx`, and scan the value from
5948
         * `ctx`.
5949
         *
5950
         * \return Any error returned by the scanner
5951
         */
5952
        scan_expected<void> scan(
5953
            typename Context::parse_context_type& parse_ctx,
5954
            Context& ctx) const
5955
0
        {
5956
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
5957
0
        }
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::scan(scn::v4::basic_scan_parse_context<char>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>&) const
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::scan(scn::v4::basic_scan_parse_context<wchar_t>&, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>&) const
5958
5959
    private:
5960
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::handle::handle(scn::v4::detail::custom_value_type)
Unexecuted instantiation: scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::handle::handle(scn::v4::detail::custom_value_type)
5961
5962
        template <typename Visitor, typename C>
5963
        friend constexpr decltype(auto) detail::visit_impl(
5964
            Visitor&& vis,
5965
            basic_scan_arg<C>& arg);
5966
5967
        detail::custom_value_type m_custom;
5968
    };
5969
5970
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
5971
1.26M
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_arg()
Line
Count
Source
5971
899k
    constexpr basic_scan_arg() = default;
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_arg()
Line
Count
Source
5971
369k
    constexpr basic_scan_arg() = default;
5972
5973
    /**
5974
     * @return `true` if `*this` contains an argument
5975
     */
5976
    constexpr explicit operator bool() const noexcept
5977
2.14M
    {
5978
2.14M
        return m_type != detail::arg_type::none_type;
5979
2.14M
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::operator bool() const
Line
Count
Source
5977
1.56M
    {
5978
1.56M
        return m_type != detail::arg_type::none_type;
5979
1.56M
    }
scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::operator bool() const
Line
Count
Source
5977
588k
    {
5978
588k
        return m_type != detail::arg_type::none_type;
5979
588k
    }
5980
5981
    /**
5982
     * Visit a `basic_scan_arg` with `Visitor`.
5983
     * Calls `vis` with the value stored in `*this`.
5984
     * If no value is contained in `*this`, calls `vis` with a `monostate`.
5985
     *
5986
     * \return `vis(x)`, where `x` is either a reference to the value contained
5987
     * in `*this`, or a `basic_scan_arg::handle`.
5988
     */
5989
    template <typename Visitor>
5990
    constexpr decltype(auto) visit(Visitor&& vis);
5991
5992
    template <typename R, typename Visitor>
5993
    constexpr R visit(Visitor&& vis);
5994
5995
private:
5996
    template <typename ContextType, typename T>
5997
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
5998
5999
    template <typename C>
6000
    friend constexpr detail::arg_type& detail::get_arg_type(
6001
        basic_scan_arg<C>& arg);
6002
    template <typename C>
6003
    friend constexpr detail::arg_type detail::get_arg_type(
6004
        const basic_scan_arg<C>& arg);
6005
6006
    template <typename C>
6007
    friend constexpr detail::arg_value& detail::get_arg_value(
6008
        basic_scan_arg<C>& arg);
6009
    template <typename C>
6010
    friend constexpr detail::arg_value detail::get_arg_value(
6011
        const basic_scan_arg<C>& arg);
6012
6013
    friend class basic_scan_args<Context>;
6014
6015
    detail::arg_value m_value{};
6016
    detail::arg_type m_type{detail::arg_type::none_type};
6017
};
6018
6019
namespace detail {
6020
template <typename Context>
6021
constexpr arg_type& get_arg_type(basic_scan_arg<Context>& arg)
6022
3.17M
{
6023
3.17M
    return arg.m_type;
6024
3.17M
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6022
2.27M
{
6023
2.27M
    return arg.m_type;
6024
2.27M
}
scn::v4::detail::arg_type& scn::v4::detail::get_arg_type<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6022
907k
{
6023
907k
    return arg.m_type;
6024
907k
}
6025
6026
template <typename Context>
6027
constexpr arg_type get_arg_type(const basic_scan_arg<Context>& arg)
6028
{
6029
    return arg.m_type;
6030
}
6031
6032
template <typename Context>
6033
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
6034
1.12M
{
6035
1.12M
    return arg.m_value;
6036
1.12M
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
6034
850k
{
6035
850k
    return arg.m_value;
6036
850k
}
scn::v4::detail::arg_value& scn::v4::detail::get_arg_value<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
6034
270k
{
6035
270k
    return arg.m_value;
6036
270k
}
6037
6038
template <typename Context>
6039
constexpr arg_value get_arg_value(const basic_scan_arg<Context>& arg)
6040
{
6041
    return arg.m_value;
6042
}
6043
6044
template <typename CharT>
6045
constexpr bool all_types_builtin()
6046
0
{
6047
0
    return true;
6048
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t>()
6049
template <typename CharT, typename T, typename... Args>
6050
constexpr bool all_types_builtin()
6051
0
{
6052
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
6053
0
           all_types_builtin<CharT, Args...>();
6054
0
}
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, signed char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, unsigned long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, signed char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned char>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, unsigned long long>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v4::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
6055
6056
template <typename CharT, typename... Args>
6057
constexpr scan_arg_store_kind determine_arg_store_kind()
6058
0
{
6059
0
    if constexpr (sizeof...(Args) > max_packed_args) {
6060
0
        return scan_arg_store_kind::unpacked;
6061
0
    }
6062
0
#if !(SCN_CLANG && SCN_APPLE)
6063
0
    // This doesn't work on Apple Clang. I don't know why
6064
0
    if constexpr (all_types_builtin<CharT, Args...>()) {
6065
0
        return scan_arg_store_kind::builtin;
6066
0
    }
6067
0
#endif
6068
0
    return scan_arg_store_kind::packed;
6069
0
}
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, signed char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, unsigned long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, signed char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned char>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, unsigned long long>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v4::detail::scan_arg_store_kind scn::v4::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6070
6071
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
6072
constexpr size_t compute_arg_store_desc()
6073
0
{
6074
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
6075
0
        return encode_types<CharT, Args...>();
6076
0
    }
6077
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
6078
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
6079
0
    }
6080
0
    else {
6081
0
        return sizeof...(Args) | is_unpacked_bit;
6082
0
    }
6083
0
}
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v4::detail::compute_arg_store_desc<(scn::v4::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
6084
6085
template <typename Context, typename... Args>
6086
class scan_arg_store {
6087
public:
6088
    static constexpr scan_arg_store_kind kind =
6089
        determine_arg_store_kind<typename Context::char_type, Args...>();
6090
    static constexpr size_t desc =
6091
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
6092
6093
    using argptr_type = std::conditional_t<
6094
        kind == scan_arg_store_kind::builtin,
6095
        void*,
6096
        std::conditional_t<kind == scan_arg_store_kind::packed,
6097
                           arg_value,
6098
                           basic_scan_arg<Context>>>;
6099
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
6100
6101
    constexpr explicit scan_arg_store(std::tuple<Args...>& args)
6102
1.18M
        : args(std::apply(make_argptrs<Args...>, args))
6103
1.18M
    {
6104
1.18M
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>::scan_arg_store(std::__1::tuple<signed char>&)
Line
Count
Source
6102
135k
        : args(std::apply(make_argptrs<Args...>, args))
6103
135k
    {
6104
135k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>::scan_arg_store(std::__1::tuple<unsigned char>&)
Line
Count
Source
6102
119k
        : args(std::apply(make_argptrs<Args...>, args))
6103
119k
    {
6104
119k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6102
158k
        : args(std::apply(make_argptrs<Args...>, args))
6103
158k
    {
6104
158k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6102
129k
        : args(std::apply(make_argptrs<Args...>, args))
6103
129k
    {
6104
129k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>::scan_arg_store(std::__1::tuple<long long>&)
Line
Count
Source
6102
161k
        : args(std::apply(make_argptrs<Args...>, args))
6103
161k
    {
6104
161k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>::scan_arg_store(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6102
131k
        : args(std::apply(make_argptrs<Args...>, args))
6103
131k
    {
6104
131k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>::scan_arg_store(std::__1::tuple<signed char>&)
Line
Count
Source
6102
58.6k
        : args(std::apply(make_argptrs<Args...>, args))
6103
58.6k
    {
6104
58.6k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>::scan_arg_store(std::__1::tuple<unsigned char>&)
Line
Count
Source
6102
58.5k
        : args(std::apply(make_argptrs<Args...>, args))
6103
58.5k
    {
6104
58.5k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::scan_arg_store(std::__1::tuple<int>&)
Line
Count
Source
6102
58.8k
        : args(std::apply(make_argptrs<Args...>, args))
6103
58.8k
    {
6104
58.8k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::scan_arg_store(std::__1::tuple<unsigned int>&)
Line
Count
Source
6102
58.6k
        : args(std::apply(make_argptrs<Args...>, args))
6103
58.6k
    {
6104
58.6k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>::scan_arg_store(std::__1::tuple<long long>&)
Line
Count
Source
6102
59.0k
        : args(std::apply(make_argptrs<Args...>, args))
6103
59.0k
    {
6104
59.0k
    }
scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>::scan_arg_store(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6102
58.8k
        : args(std::apply(make_argptrs<Args...>, args))
6103
58.8k
    {
6104
58.8k
    }
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::scan_arg_store(std::__1::tuple<double>&)
Unexecuted instantiation: scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6105
6106
    argptrs_type args;
6107
6108
private:
6109
    template <typename... A>
6110
    static constexpr argptrs_type make_argptrs(A&... args)
6111
1.18M
    {
6112
1.18M
        return {detail::make_arg<
6113
1.18M
            kind, Context,
6114
1.18M
            mapped_type_constant<remove_cvref_t<A>,
6115
1.18M
                                 typename Context::char_type>::value>(args)...};
6116
1.18M
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
6111
135k
    {
6112
135k
        return {detail::make_arg<
6113
135k
            kind, Context,
6114
135k
            mapped_type_constant<remove_cvref_t<A>,
6115
135k
                                 typename Context::char_type>::value>(args)...};
6116
135k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
6111
119k
    {
6112
119k
        return {detail::make_arg<
6113
119k
            kind, Context,
6114
119k
            mapped_type_constant<remove_cvref_t<A>,
6115
119k
                                 typename Context::char_type>::value>(args)...};
6116
119k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>::make_argptrs<int>(int&)
Line
Count
Source
6111
158k
    {
6112
158k
        return {detail::make_arg<
6113
158k
            kind, Context,
6114
158k
            mapped_type_constant<remove_cvref_t<A>,
6115
158k
                                 typename Context::char_type>::value>(args)...};
6116
158k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6111
129k
    {
6112
129k
        return {detail::make_arg<
6113
129k
            kind, Context,
6114
129k
            mapped_type_constant<remove_cvref_t<A>,
6115
129k
                                 typename Context::char_type>::value>(args)...};
6116
129k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
6111
161k
    {
6112
161k
        return {detail::make_arg<
6113
161k
            kind, Context,
6114
161k
            mapped_type_constant<remove_cvref_t<A>,
6115
161k
                                 typename Context::char_type>::value>(args)...};
6116
161k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
6111
131k
    {
6112
131k
        return {detail::make_arg<
6113
131k
            kind, Context,
6114
131k
            mapped_type_constant<remove_cvref_t<A>,
6115
131k
                                 typename Context::char_type>::value>(args)...};
6116
131k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
6111
58.6k
    {
6112
58.6k
        return {detail::make_arg<
6113
58.6k
            kind, Context,
6114
58.6k
            mapped_type_constant<remove_cvref_t<A>,
6115
58.6k
                                 typename Context::char_type>::value>(args)...};
6116
58.6k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
6111
58.5k
    {
6112
58.5k
        return {detail::make_arg<
6113
58.5k
            kind, Context,
6114
58.5k
            mapped_type_constant<remove_cvref_t<A>,
6115
58.5k
                                 typename Context::char_type>::value>(args)...};
6116
58.5k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
6111
58.8k
    {
6112
58.8k
        return {detail::make_arg<
6113
58.8k
            kind, Context,
6114
58.8k
            mapped_type_constant<remove_cvref_t<A>,
6115
58.8k
                                 typename Context::char_type>::value>(args)...};
6116
58.8k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
6111
58.6k
    {
6112
58.6k
        return {detail::make_arg<
6113
58.6k
            kind, Context,
6114
58.6k
            mapped_type_constant<remove_cvref_t<A>,
6115
58.6k
                                 typename Context::char_type>::value>(args)...};
6116
58.6k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
6111
59.0k
    {
6112
59.0k
        return {detail::make_arg<
6113
59.0k
            kind, Context,
6114
59.0k
            mapped_type_constant<remove_cvref_t<A>,
6115
59.0k
                                 typename Context::char_type>::value>(args)...};
6116
59.0k
    }
std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
6111
58.8k
    {
6112
58.8k
        return {detail::make_arg<
6113
58.8k
            kind, Context,
6114
58.8k
            mapped_type_constant<remove_cvref_t<A>,
6115
58.8k
                                 typename Context::char_type>::value>(args)...};
6116
58.8k
    }
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>::make_argptrs<double>(double&)
Unexecuted instantiation: std::__1::array<void*, 1ul> scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
6117
};
6118
6119
}  // namespace detail
6120
6121
/**
6122
 * Creates a type-erased argument store over the arguments in `values`.
6123
 */
6124
template <typename Context = scan_context, typename... Args>
6125
constexpr auto make_scan_args(std::tuple<Args...>& values)
6126
1.18M
{
6127
1.18M
    detail::check_scan_arg_types<Args...>();
6128
1.18M
    return detail::scan_arg_store<Context, Args...>(values);
6129
1.18M
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char>(std::__1::tuple<signed char>&)
Line
Count
Source
6126
135k
{
6127
135k
    detail::check_scan_arg_types<Args...>();
6128
135k
    return detail::scan_arg_store<Context, Args...>(values);
6129
135k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char>(std::__1::tuple<unsigned char>&)
Line
Count
Source
6126
119k
{
6127
119k
    detail::check_scan_arg_types<Args...>();
6128
119k
    return detail::scan_arg_store<Context, Args...>(values);
6129
119k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int>(std::__1::tuple<int>&)
Line
Count
Source
6126
158k
{
6127
158k
    detail::check_scan_arg_types<Args...>();
6128
158k
    return detail::scan_arg_store<Context, Args...>(values);
6129
158k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6126
129k
{
6127
129k
    detail::check_scan_arg_types<Args...>();
6128
129k
    return detail::scan_arg_store<Context, Args...>(values);
6129
129k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long>(std::__1::tuple<long long>&)
Line
Count
Source
6126
161k
{
6127
161k
    detail::check_scan_arg_types<Args...>();
6128
161k
    return detail::scan_arg_store<Context, Args...>(values);
6129
161k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long>(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6126
131k
{
6127
131k
    detail::check_scan_arg_types<Args...>();
6128
131k
    return detail::scan_arg_store<Context, Args...>(values);
6129
131k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char>(std::__1::tuple<signed char>&)
Line
Count
Source
6126
58.6k
{
6127
58.6k
    detail::check_scan_arg_types<Args...>();
6128
58.6k
    return detail::scan_arg_store<Context, Args...>(values);
6129
58.6k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char>(std::__1::tuple<unsigned char>&)
Line
Count
Source
6126
58.5k
{
6127
58.5k
    detail::check_scan_arg_types<Args...>();
6128
58.5k
    return detail::scan_arg_store<Context, Args...>(values);
6129
58.5k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int>(std::__1::tuple<int>&)
Line
Count
Source
6126
58.8k
{
6127
58.8k
    detail::check_scan_arg_types<Args...>();
6128
58.8k
    return detail::scan_arg_store<Context, Args...>(values);
6129
58.8k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int>(std::__1::tuple<unsigned int>&)
Line
Count
Source
6126
58.6k
{
6127
58.6k
    detail::check_scan_arg_types<Args...>();
6128
58.6k
    return detail::scan_arg_store<Context, Args...>(values);
6129
58.6k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long>(std::__1::tuple<long long>&)
Line
Count
Source
6126
59.0k
{
6127
59.0k
    detail::check_scan_arg_types<Args...>();
6128
59.0k
    return detail::scan_arg_store<Context, Args...>(values);
6129
59.0k
}
auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long>(std::__1::tuple<unsigned long long>&)
Line
Count
Source
6126
58.8k
{
6127
58.8k
    detail::check_scan_arg_types<Args...>();
6128
58.8k
    return detail::scan_arg_store<Context, Args...>(values);
6129
58.8k
}
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double>(std::__1::tuple<double>&)
Unexecuted instantiation: auto scn::v4::make_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
6130
6131
template <typename... Args>
6132
constexpr auto make_wscan_args(std::tuple<Args...>& values)
6133
{
6134
    detail::check_scan_arg_types<Args...>();
6135
    return detail::scan_arg_store<wscan_context, Args...>(values);
6136
}
6137
6138
/**
6139
 * A view over a collection of scanning arguments (`scan_arg_store`).
6140
 *
6141
 * Passed to `scn::vscan`, where it's automatically constructed from a
6142
 * `scan_arg_store`.
6143
 */
6144
template <typename Context>
6145
class basic_scan_args {
6146
public:
6147
80.1k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args()
Line
Count
Source
6147
63.1k
    constexpr basic_scan_args() = default;
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args()
Line
Count
Source
6147
16.9k
    constexpr basic_scan_args() = default;
6148
6149
    template <typename... Args>
6150
    SCN_IMPLICIT constexpr basic_scan_args(
6151
        const detail::scan_arg_store<Context, Args...>& store)
6152
1.18M
        : basic_scan_args(store.desc, store.args.data())
6153
1.18M
    {
6154
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<signed char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, signed char> const&)
Line
Count
Source
6152
135k
        : basic_scan_args(store.desc, store.args.data())
6153
135k
    {
6154
135k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned char> const&)
Line
Count
Source
6152
119k
        : basic_scan_args(store.desc, store.args.data())
6153
119k
    {
6154
119k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, int> const&)
Line
Count
Source
6152
158k
        : basic_scan_args(store.desc, store.args.data())
6153
158k
    {
6154
158k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned int> const&)
Line
Count
Source
6152
129k
        : basic_scan_args(store.desc, store.args.data())
6153
129k
    {
6154
129k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, long long> const&)
Line
Count
Source
6152
161k
        : basic_scan_args(store.desc, store.args.data())
6153
161k
    {
6154
161k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<unsigned long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, unsigned long long> const&)
Line
Count
Source
6152
131k
        : basic_scan_args(store.desc, store.args.data())
6153
131k
    {
6154
131k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<signed char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, signed char> const&)
Line
Count
Source
6152
58.6k
        : basic_scan_args(store.desc, store.args.data())
6153
58.6k
    {
6154
58.6k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned char>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned char> const&)
Line
Count
Source
6152
58.5k
        : basic_scan_args(store.desc, store.args.data())
6153
58.5k
    {
6154
58.5k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, int> const&)
Line
Count
Source
6152
58.8k
        : basic_scan_args(store.desc, store.args.data())
6153
58.8k
    {
6154
58.8k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned int>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned int> const&)
Line
Count
Source
6152
58.6k
        : basic_scan_args(store.desc, store.args.data())
6153
58.6k
    {
6154
58.6k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, long long> const&)
Line
Count
Source
6152
59.0k
        : basic_scan_args(store.desc, store.args.data())
6153
59.0k
    {
6154
59.0k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<unsigned long long>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, unsigned long long> const&)
Line
Count
Source
6152
58.8k
        : basic_scan_args(store.desc, store.args.data())
6153
58.8k
    {
6154
58.8k
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args<double>(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>, double> const&)
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v4::detail::scan_arg_store<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
6155
6156
    /**
6157
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
6158
     * there's no argument at index `id`.
6159
     */
6160
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
6161
1.18M
    {
6162
1.18M
        if (SCN_UNLIKELY(!is_packed())) {
6163
0
            if (SCN_LIKELY(id < max_size())) {
6164
0
                return m_args[id];
6165
0
            }
6166
0
            return {};
6167
0
        }
6168
6169
1.18M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6170
0
            return {};
6171
0
        }
6172
6173
1.18M
        const auto t = type(id);
6174
1.18M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6175
0
            return {};
6176
0
        }
6177
6178
1.18M
        basic_scan_arg<Context> arg;
6179
1.18M
        arg.m_type = t;
6180
1.18M
        if (is_only_builtin()) {
6181
1.18M
            arg.m_value.ref_value = m_builtin_values[id];
6182
1.18M
        }
6183
0
        else {
6184
0
            arg.m_value = m_values[id];
6185
0
        }
6186
1.18M
        return arg;
6187
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::get(unsigned long) const
Line
Count
Source
6161
836k
    {
6162
836k
        if (SCN_UNLIKELY(!is_packed())) {
6163
0
            if (SCN_LIKELY(id < max_size())) {
6164
0
                return m_args[id];
6165
0
            }
6166
0
            return {};
6167
0
        }
6168
6169
836k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6170
0
            return {};
6171
0
        }
6172
6173
836k
        const auto t = type(id);
6174
836k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6175
0
            return {};
6176
0
        }
6177
6178
836k
        basic_scan_arg<Context> arg;
6179
836k
        arg.m_type = t;
6180
836k
        if (is_only_builtin()) {
6181
836k
            arg.m_value.ref_value = m_builtin_values[id];
6182
836k
        }
6183
0
        else {
6184
0
            arg.m_value = m_values[id];
6185
0
        }
6186
836k
        return arg;
6187
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::get(unsigned long) const
Line
Count
Source
6161
352k
    {
6162
352k
        if (SCN_UNLIKELY(!is_packed())) {
6163
0
            if (SCN_LIKELY(id < max_size())) {
6164
0
                return m_args[id];
6165
0
            }
6166
0
            return {};
6167
0
        }
6168
6169
352k
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
6170
0
            return {};
6171
0
        }
6172
6173
352k
        const auto t = type(id);
6174
352k
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
6175
0
            return {};
6176
0
        }
6177
6178
352k
        basic_scan_arg<Context> arg;
6179
352k
        arg.m_type = t;
6180
352k
        if (is_only_builtin()) {
6181
352k
            arg.m_value.ref_value = m_builtin_values[id];
6182
352k
        }
6183
0
        else {
6184
0
            arg.m_value = m_values[id];
6185
0
        }
6186
352k
        return arg;
6187
352k
    }
6188
6189
    /**
6190
     * \return Number of arguments in `*this`.
6191
     */
6192
    SCN_NODISCARD constexpr std::size_t size() const
6193
1.18M
    {
6194
1.18M
        if (SCN_UNLIKELY(!is_packed())) {
6195
0
            return max_size();
6196
0
        }
6197
6198
1.18M
        return static_cast<std::size_t>(m_desc &
6199
1.18M
                                        ((1 << detail::packed_arg_bits) - 1));
6200
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::size() const
Line
Count
Source
6193
836k
    {
6194
836k
        if (SCN_UNLIKELY(!is_packed())) {
6195
0
            return max_size();
6196
0
        }
6197
6198
836k
        return static_cast<std::size_t>(m_desc &
6199
836k
                                        ((1 << detail::packed_arg_bits) - 1));
6200
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::size() const
Line
Count
Source
6193
352k
    {
6194
352k
        if (SCN_UNLIKELY(!is_packed())) {
6195
0
            return max_size();
6196
0
        }
6197
6198
352k
        return static_cast<std::size_t>(m_desc &
6199
352k
                                        ((1 << detail::packed_arg_bits) - 1));
6200
352k
    }
6201
6202
private:
6203
    constexpr explicit basic_scan_args(size_t desc, void* const* data)
6204
1.18M
        : m_desc(desc), m_builtin_values(data)
6205
1.18M
    {
6206
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6204
836k
        : m_desc(desc), m_builtin_values(data)
6205
836k
    {
6206
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::basic_scan_args(unsigned long, void* const*)
Line
Count
Source
6204
352k
        : m_desc(desc), m_builtin_values(data)
6205
352k
    {
6206
352k
    }
6207
    constexpr explicit basic_scan_args(size_t desc,
6208
                                       const detail::arg_value* data)
6209
        : m_desc(desc), m_values(data)
6210
    {
6211
    }
6212
    constexpr explicit basic_scan_args(size_t desc,
6213
                                       const basic_scan_arg<Context>* data)
6214
        : m_desc(desc), m_args(data)
6215
    {
6216
    }
6217
6218
    SCN_NODISCARD constexpr bool is_packed() const
6219
2.37M
    {
6220
2.37M
        return (m_desc & detail::is_unpacked_bit) == 0;
6221
2.37M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_packed() const
Line
Count
Source
6219
1.67M
    {
6220
1.67M
        return (m_desc & detail::is_unpacked_bit) == 0;
6221
1.67M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_packed() const
Line
Count
Source
6219
704k
    {
6220
704k
        return (m_desc & detail::is_unpacked_bit) == 0;
6221
704k
    }
6222
    SCN_NODISCARD constexpr bool is_only_builtin() const
6223
1.18M
    {
6224
1.18M
        return (m_desc & detail::has_custom_types_bit) == 0;
6225
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::is_only_builtin() const
Line
Count
Source
6223
836k
    {
6224
836k
        return (m_desc & detail::has_custom_types_bit) == 0;
6225
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::is_only_builtin() const
Line
Count
Source
6223
352k
    {
6224
352k
        return (m_desc & detail::has_custom_types_bit) == 0;
6225
352k
    }
6226
6227
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
6228
1.18M
    {
6229
        // First (0th) index is size, types start after that
6230
1.18M
        const auto shift = (index + 1) * detail::packed_arg_bits;
6231
1.18M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6232
1.18M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6233
1.18M
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::type(unsigned long) const
Line
Count
Source
6228
836k
    {
6229
        // First (0th) index is size, types start after that
6230
836k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6231
836k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6232
836k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6233
836k
    }
scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::type(unsigned long) const
Line
Count
Source
6228
352k
    {
6229
        // First (0th) index is size, types start after that
6230
352k
        const auto shift = (index + 1) * detail::packed_arg_bits;
6231
352k
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
6232
352k
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
6233
352k
    }
6234
6235
    SCN_NODISCARD constexpr std::size_t max_size() const
6236
0
    {
6237
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
6238
0
                                       : (m_desc & ~detail::is_unpacked_bit &
6239
0
                                          ~detail::has_custom_types_bit);
6240
0
    }
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::max_size() const
Unexecuted instantiation: scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::max_size() const
6241
6242
    size_t m_desc{0};
6243
    union {
6244
        void* const* m_builtin_values;
6245
        const detail::arg_value* m_values;
6246
        const basic_scan_arg<Context>* m_args{nullptr};
6247
    };
6248
};
6249
6250
/////////////////////////////////////////////////////////////////
6251
// scan_parse_context
6252
/////////////////////////////////////////////////////////////////
6253
6254
template <typename T>
6255
struct source_tag_type {
6256
    using type = T;
6257
};
6258
template <typename T>
6259
inline constexpr auto source_tag = source_tag_type<T>{};
6260
6261
/**
6262
 * Format string parsing context, wrapping the format string being parsed,
6263
 * and a counter for argument indexing.
6264
 *
6265
 * \ingroup ctx
6266
 */
6267
template <typename CharT>
6268
class basic_scan_parse_context {
6269
public:
6270
    using char_type = CharT;
6271
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
6272
    using const_iterator = iterator;
6273
6274
    /**
6275
     * Construct a `basic_scan_parse_context` over a format string `format`.
6276
     */
6277
    [[deprecated(
6278
        "Use the source_tag constructor instead,"
6279
        "to get more compile-time checking")]]
6280
    explicit constexpr basic_scan_parse_context(
6281
        std::basic_string_view<CharT> format,
6282
        int next_arg_id = 0)
6283
        : m_format{format}, m_next_arg_id{next_arg_id}
6284
    {
6285
    }
6286
6287
    template <typename Source>
6288
    explicit constexpr basic_scan_parse_context(
6289
        source_tag_type<Source>,
6290
        std::basic_string_view<CharT> format,
6291
        int next_arg_id = 0)
6292
1.02M
        : m_format{format},
6293
1.02M
          m_next_arg_id{next_arg_id},
6294
1.02M
          m_is_contiguous(ranges::range<Source> &&
6295
1.02M
                          ranges::contiguous_range<Source>),
6296
          m_is_borrowed(
6297
1.02M
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6298
1.02M
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6299
1.02M
    {
6300
1.02M
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6292
354k
        : m_format{format},
6293
354k
          m_next_arg_id{next_arg_id},
6294
354k
          m_is_contiguous(ranges::range<Source> &&
6295
354k
                          ranges::contiguous_range<Source>),
6296
          m_is_borrowed(
6297
354k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6298
354k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6299
354k
    {
6300
354k
    }
scn::v4::basic_scan_parse_context<char>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<char>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<char>&>, std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
6292
355k
        : m_format{format},
6293
355k
          m_next_arg_id{next_arg_id},
6294
355k
          m_is_contiguous(ranges::range<Source> &&
6295
355k
                          ranges::contiguous_range<Source>),
6296
          m_is_borrowed(
6297
355k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6298
355k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6299
355k
    {
6300
355k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6292
159k
        : m_format{format},
6293
159k
          m_next_arg_id{next_arg_id},
6294
159k
          m_is_contiguous(ranges::range<Source> &&
6295
159k
                          ranges::contiguous_range<Source>),
6296
          m_is_borrowed(
6297
159k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6298
159k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6299
159k
    {
6300
159k
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::source_tag_type<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
scn::v4::basic_scan_parse_context<wchar_t>::basic_scan_parse_context<scn::v4::detail::basic_scan_buffer<wchar_t>&>(scn::v4::source_tag_type<scn::v4::detail::basic_scan_buffer<wchar_t>&>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
6292
159k
        : m_format{format},
6293
159k
          m_next_arg_id{next_arg_id},
6294
159k
          m_is_contiguous(ranges::range<Source> &&
6295
159k
                          ranges::contiguous_range<Source>),
6296
          m_is_borrowed(
6297
159k
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
6298
159k
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
6299
159k
    {
6300
159k
    }
6301
6302
    basic_scan_parse_context(const basic_scan_parse_context&) = delete;
6303
    basic_scan_parse_context& operator=(const basic_scan_parse_context&) =
6304
        delete;
6305
    basic_scan_parse_context(basic_scan_parse_context&&) = delete;
6306
    basic_scan_parse_context& operator=(basic_scan_parse_context&&) = delete;
6307
    ~basic_scan_parse_context() = default;
6308
6309
    /// Returns an iterator pointing to the beginning of the format string
6310
    constexpr auto begin() const noexcept
6311
1.90M
    {
6312
1.90M
        return m_format.data();
6313
1.90M
    }
scn::v4::basic_scan_parse_context<char>::begin() const
Line
Count
Source
6311
1.37M
    {
6312
1.37M
        return m_format.data();
6313
1.37M
    }
scn::v4::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
6311
538k
    {
6312
538k
        return m_format.data();
6313
538k
    }
6314
    /// Returns an iterator pointing to the end of the format string
6315
    constexpr auto end() const noexcept
6316
    {
6317
        return m_format.data() + m_format.size();
6318
    }
6319
6320
    /// Advance the beginning of the format string to `it`
6321
    constexpr void advance_to(iterator it)
6322
880k
    {
6323
880k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6324
880k
    }
scn::v4::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
6322
660k
    {
6323
660k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6324
660k
    }
scn::v4::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
6322
219k
    {
6323
219k
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
6324
219k
    }
6325
6326
    constexpr size_t next_arg_id()
6327
1.02M
    {
6328
1.02M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6329
0
            on_error(
6330
0
                "Cannot switch from manual to automatic argument indexing");
6331
0
            return 0;
6332
0
        }
6333
6334
1.02M
        auto id = static_cast<size_t>(m_next_arg_id++);
6335
1.02M
        do_check_arg_id(id);
6336
1.02M
        return id;
6337
1.02M
    }
scn::v4::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
6327
710k
    {
6328
710k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6329
0
            on_error(
6330
0
                "Cannot switch from manual to automatic argument indexing");
6331
0
            return 0;
6332
0
        }
6333
6334
710k
        auto id = static_cast<size_t>(m_next_arg_id++);
6335
710k
        do_check_arg_id(id);
6336
710k
        return id;
6337
710k
    }
scn::v4::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
6327
318k
    {
6328
318k
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
6329
0
            on_error(
6330
0
                "Cannot switch from manual to automatic argument indexing");
6331
0
            return 0;
6332
0
        }
6333
6334
318k
        auto id = static_cast<size_t>(m_next_arg_id++);
6335
318k
        do_check_arg_id(id);
6336
318k
        return id;
6337
318k
    }
6338
6339
    constexpr void check_arg_id(std::size_t id)
6340
0
    {
6341
0
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
6342
0
            on_error(
6343
0
                "Cannot switch from manual to automatic argument indexing");
6344
0
            return;
6345
0
        }
6346
0
        m_next_arg_id = -1;
6347
0
        do_check_arg_id(id);
6348
0
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
6349
6350
    /**
6351
     * Fail format string parsing with the message `msg`.
6352
     * Calling this member function is not a constant expression,
6353
     * causing a compile-time error, if compile-time format string checking is
6354
     * enabled.
6355
     */
6356
    scan_error on_error(const char* msg)
6357
0
    {
6358
0
        m_error = unexpected(detail::handle_error(
6359
0
            scan_error{scan_error::invalid_format_string, msg}));
6360
0
        return m_error.error();
6361
0
    }
Unexecuted instantiation: scn::v4::basic_scan_parse_context<char>::on_error(char const*)
Unexecuted instantiation: scn::v4::basic_scan_parse_context<wchar_t>::on_error(char const*)
6362
6363
    scan_expected<void> get_error()
6364
    {
6365
        return m_error;
6366
    }
6367
6368
    [[nodiscard]] constexpr bool is_source_contiguous() const
6369
    {
6370
        return m_is_contiguous;
6371
    }
6372
6373
    [[nodiscard]] constexpr bool is_source_borrowed() const
6374
    {
6375
        return m_is_borrowed;
6376
    }
6377
6378
protected:
6379
    constexpr void do_check_arg_id(size_t id);
6380
6381
    std::basic_string_view<CharT> m_format;
6382
    scan_expected<void> m_error{};
6383
    int m_next_arg_id{0};
6384
    bool m_is_contiguous{false}, m_is_borrowed{false};
6385
};
6386
6387
/////////////////////////////////////////////////////////////////
6388
// Result types
6389
/////////////////////////////////////////////////////////////////
6390
6391
namespace detail {
6392
template <typename... Args>
6393
struct scan_result_value_storage {
6394
public:
6395
    using tuple_type = std::tuple<Args...>;
6396
6397
1.26M
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<signed char>::scan_result_value_storage()
Line
Count
Source
6397
207k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned char>::scan_result_value_storage()
Line
Count
Source
6397
189k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<int>::scan_result_value_storage()
Line
Count
Source
6397
232k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage()
Line
Count
Source
6397
200k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<long long>::scan_result_value_storage()
Line
Count
Source
6397
235k
    constexpr scan_result_value_storage() = default;
scn::v4::detail::scan_result_value_storage<unsigned long long>::scan_result_value_storage()
Line
Count
Source
6397
202k
    constexpr scan_result_value_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::scan_result_value_storage()
6398
6399
    constexpr scan_result_value_storage(tuple_type&& values)
6400
        : m_values(SCN_MOVE(values))
6401
    {
6402
    }
6403
6404
    /// Access the scanned values
6405
    tuple_type& values() &
6406
1.18M
    {
6407
1.18M
        return m_values;
6408
1.18M
    }
scn::v4::detail::scan_result_value_storage<signed char>::values() &
Line
Count
Source
6406
194k
    {
6407
194k
        return m_values;
6408
194k
    }
scn::v4::detail::scan_result_value_storage<unsigned char>::values() &
Line
Count
Source
6406
178k
    {
6407
178k
        return m_values;
6408
178k
    }
scn::v4::detail::scan_result_value_storage<int>::values() &
Line
Count
Source
6406
217k
    {
6407
217k
        return m_values;
6408
217k
    }
scn::v4::detail::scan_result_value_storage<unsigned int>::values() &
Line
Count
Source
6406
188k
    {
6407
188k
        return m_values;
6408
188k
    }
scn::v4::detail::scan_result_value_storage<long long>::values() &
Line
Count
Source
6406
220k
    {
6407
220k
        return m_values;
6408
220k
    }
scn::v4::detail::scan_result_value_storage<unsigned long long>::values() &
Line
Count
Source
6406
189k
    {
6407
189k
        return m_values;
6408
189k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::values() &
Unexecuted instantiation: scn::v4::detail::scan_result_value_storage<double>::values() &
6409
    /// Access the scanned values
6410
    const tuple_type& values() const&
6411
    {
6412
        return m_values;
6413
    }
6414
    /// Access the scanned values
6415
    tuple_type&& values() &&
6416
    {
6417
        return SCN_MOVE(m_values);
6418
    }
6419
    /// Access the scanned values
6420
    const tuple_type&& values() const&&
6421
    {
6422
        return SCN_MOVE(m_values);
6423
    }
6424
6425
    /// Access the single scanned value
6426
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6427
    decltype(auto) value() &
6428
80.1k
    {
6429
80.1k
        return std::get<0>(m_values);
6430
80.1k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJaEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6428
13.4k
    {
6429
13.4k
        return std::get<0>(m_values);
6430
13.4k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJhEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6428
11.6k
    {
6429
11.6k
        return std::get<0>(m_values);
6430
11.6k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJiEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6428
14.8k
    {
6429
14.8k
        return std::get<0>(m_values);
6430
14.8k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJjEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6428
12.5k
    {
6429
12.5k
        return std::get<0>(m_values);
6430
12.5k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJxEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6428
15.1k
    {
6429
15.1k
        return std::get<0>(m_values);
6430
15.1k
    }
_ZNR3scn2v46detail25scan_result_value_storageIJyEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Line
Count
Source
6428
12.6k
    {
6429
12.6k
        return std::get<0>(m_values);
6430
12.6k
    }
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEE5valueILm1ETnPNS3_9enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
Unexecuted instantiation: _ZNR3scn2v46detail25scan_result_value_storageIJdEE5valueILm1ETnPNSt3__19enable_ifIXeqT_Li1EEvE4typeELPv0EEEDcv
6431
    /// Access the single scanned value
6432
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6433
    decltype(auto) value() const&
6434
    {
6435
        return std::get<0>(m_values);
6436
    }
6437
    /// Access the single scanned value
6438
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6439
    decltype(auto) value() &&
6440
    {
6441
        return SCN_MOVE(std::get<0>(m_values));
6442
    }
6443
    /// Access the single scanned value
6444
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
6445
    decltype(auto) value() const&&
6446
    {
6447
        return SCN_MOVE(std::get<0>(m_values));
6448
    }
6449
6450
private:
6451
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
6452
};
6453
6454
struct scan_result_convert_tag {};
6455
6456
template <typename Range>
6457
struct scan_result_range_storage {
6458
    static_assert(is_specialization_of_v<Range, ranges::subrange>,
6459
                  "scan_result<Range> accepts only subranges as Ranges");
6460
6461
public:
6462
    using range_type = Range;
6463
    using iterator = ranges::iterator_t<Range>;
6464
    using sentinel = ranges::sentinel_t<Range>;
6465
6466
1.26M
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage()
Line
Count
Source
6466
450k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage()
Line
Count
Source
6466
449k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage()
Line
Count
Source
6466
184k
    constexpr scan_result_range_storage() = default;
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage()
Line
Count
Source
6466
184k
    constexpr scan_result_range_storage() = default;
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::scan_result_range_storage()
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::scan_result_range_storage()
6467
6468
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
6469
    {
6470
    }
6471
6472
    template <typename R>
6473
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
6474
        : m_range(SCN_MOVE(r))
6475
    {
6476
    }
6477
6478
    /// Access the ununsed source range
6479
    range_type range() const
6480
    {
6481
        return m_range;
6482
    }
6483
6484
    /// The beginning of the unused source range
6485
    auto begin() const
6486
749k
    {
6487
749k
        return ranges::begin(m_range);
6488
749k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
6486
363k
    {
6487
363k
        return ranges::begin(m_range);
6488
363k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
6486
362k
    {
6487
362k
        return ranges::begin(m_range);
6488
362k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
6486
11.3k
    {
6487
11.3k
        return ranges::begin(m_range);
6488
11.3k
    }
scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
6486
11.3k
    {
6487
11.3k
        return ranges::begin(m_range);
6488
11.3k
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::begin() const
6489
    /// The end of the unused source range
6490
    auto end() const
6491
0
    {
6492
0
        return ranges::end(m_range);
6493
0
    }
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::end() const
Unexecuted instantiation: scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::end() const
6494
6495
    template <typename Other>
6496
    void set_range(Other&& r)
6497
749k
    {
6498
749k
        m_range = std::forward<Other>(r);
6499
749k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
6497
363k
    {
6498
363k
        m_range = std::forward<Other>(r);
6499
363k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
6497
362k
    {
6498
362k
        m_range = std::forward<Other>(r);
6499
362k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::set_range<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
6497
11.3k
    {
6498
11.3k
        m_range = std::forward<Other>(r);
6499
11.3k
    }
void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
6497
11.3k
    {
6498
11.3k
        m_range = std::forward<Other>(r);
6499
11.3k
    }
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >::set_range<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >&&)
Unexecuted instantiation: void scn::v4::detail::scan_result_range_storage<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >::set_range<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&&)
6500
6501
protected:
6502
    template <typename Other>
6503
    void assign_range(Other&& r)
6504
    {
6505
        m_range = r.m_range;
6506
    }
6507
6508
private:
6509
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
6510
};
6511
6512
struct scan_result_file_storage {
6513
public:
6514
    using range_type = std::FILE*;
6515
6516
    constexpr scan_result_file_storage() = default;
6517
6518
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
6519
6520
    /// File used for scanning
6521
    std::FILE* file() const
6522
0
    {
6523
0
        return m_file;
6524
0
    }
6525
6526
    void set_range(std::FILE* f)
6527
0
    {
6528
0
        m_file = f;
6529
0
    }
6530
6531
protected:
6532
    void assign_range(const scan_result_file_storage& f)
6533
0
    {
6534
0
        m_file = f.m_file;
6535
0
    }
6536
6537
private:
6538
    std::FILE* m_file{nullptr};
6539
};
6540
6541
struct scan_result_dangling {
6542
    using range_type = ranges::dangling;
6543
6544
    constexpr scan_result_dangling() = default;
6545
6546
    template <typename... Args>
6547
    explicit constexpr scan_result_dangling(Args&&...)
6548
    {
6549
    }
6550
6551
    range_type range() const
6552
0
    {
6553
0
        return {};
6554
0
    }
6555
6556
    ranges::dangling begin() const
6557
0
    {
6558
0
        return {};
6559
0
    }
6560
    ranges::dangling end() const
6561
0
    {
6562
0
        return {};
6563
0
    }
6564
6565
    template <typename... Args>
6566
    void set_range(Args&&...)
6567
    {
6568
    }
6569
6570
protected:
6571
    template <typename... Args>
6572
    void assign_range(Args&&...)
6573
    {
6574
    }
6575
};
6576
6577
template <typename Range>
6578
constexpr auto get_scan_result_base()
6579
0
{
6580
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
6581
0
        return type_identity<scan_result_dangling>{};
6582
0
    }
6583
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
6584
0
        return type_identity<scan_result_file_storage>{};
6585
0
    }
6586
0
    else {
6587
0
        return type_identity<scan_result_range_storage<Range>>{};
6588
0
    }
6589
0
}
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> > >()
Unexecuted instantiation: auto scn::v4::detail::get_scan_result_base<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >()
6590
6591
#if !SCN_DOXYGEN
6592
template <typename Range>
6593
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
6594
#else
6595
template <typename Range>
6596
using scan_result_base = scan_result_range_storage<Range>;
6597
#endif
6598
}  // namespace detail
6599
6600
/**
6601
 * \defgroup result Result types
6602
 *
6603
 * \brief Result and error types
6604
 *
6605
 * Instead of using exceptions, `scn::scan` and others return an object of
6606
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
6607
 */
6608
6609
/**
6610
 * Type returned by `scan`, contains the unused input as a subrange, and the
6611
 * scanned values in a tuple.
6612
 */
6613
template <typename Range, typename... Args>
6614
class scan_result : public detail::scan_result_base<Range>,
6615
                    public detail::scan_result_value_storage<Args...> {
6616
    using range_base = detail::scan_result_base<Range>;
6617
    using value_base = detail::scan_result_value_storage<Args...>;
6618
6619
public:
6620
    using range_type = typename range_base::range_type;
6621
    using tuple_type = typename value_base::tuple_type;
6622
6623
1.26M
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::scan_result()
Line
Count
Source
6623
73.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::scan_result()
Line
Count
Source
6623
64.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result()
Line
Count
Source
6623
85.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result()
Line
Count
Source
6623
69.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::scan_result()
Line
Count
Source
6623
87.1k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::scan_result()
Line
Count
Source
6623
70.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::scan_result()
Line
Count
Source
6623
73.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::scan_result()
Line
Count
Source
6623
64.2k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::scan_result()
Line
Count
Source
6623
85.1k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::scan_result()
Line
Count
Source
6623
69.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::scan_result()
Line
Count
Source
6623
86.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::scan_result()
Line
Count
Source
6623
70.4k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::scan_result()
Line
Count
Source
6623
30.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::scan_result()
Line
Count
Source
6623
30.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result()
Line
Count
Source
6623
30.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result()
Line
Count
Source
6623
30.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::scan_result()
Line
Count
Source
6623
30.9k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::scan_result()
Line
Count
Source
6623
30.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::scan_result()
Line
Count
Source
6623
30.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::scan_result()
Line
Count
Source
6623
30.6k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::scan_result()
Line
Count
Source
6623
30.8k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::scan_result()
Line
Count
Source
6623
30.7k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::scan_result()
Line
Count
Source
6623
30.9k
    constexpr scan_result() = default;
scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::scan_result()
Line
Count
Source
6623
30.8k
    constexpr scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result()
6624
6625
    constexpr scan_result(const scan_result&) = default;
6626
0
    constexpr scan_result(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6627
    constexpr scan_result& operator=(const scan_result&) = default;
6628
0
    constexpr scan_result& operator=(scan_result&&) = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, double>&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
6629
6630
0
    ~scan_result() = default;
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Unexecuted instantiation: scn::v4::scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
6631
6632
    scan_result(range_type r, tuple_type&& values)
6633
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
6634
    {
6635
    }
6636
6637
    template <typename OtherR,
6638
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
6639
                  nullptr>
6640
    scan_result(OtherR&& r, tuple_type&& values)
6641
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
6642
          value_base(SCN_MOVE(values))
6643
    {
6644
    }
6645
6646
    template <typename OtherR,
6647
              std::enable_if_t<
6648
                  std::is_constructible_v<range_type, OtherR> &&
6649
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6650
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
6651
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6652
          value_base(o.values())
6653
    {
6654
    }
6655
    template <typename OtherR,
6656
              std::enable_if_t<
6657
                  std::is_constructible_v<range_type, OtherR> &&
6658
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
6659
    explicit scan_result(const scan_result<OtherR, Args...>& o)
6660
        : range_base(detail::scan_result_convert_tag{}, o.range()),
6661
          value_base(o.values())
6662
    {
6663
    }
6664
6665
    template <typename OtherR,
6666
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6667
                               std::is_convertible_v<OtherR&&, range_type>>* =
6668
                  nullptr>
6669
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
6670
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6671
          value_base(SCN_MOVE(o.values()))
6672
    {
6673
    }
6674
    template <typename OtherR,
6675
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
6676
                               !std::is_convertible_v<OtherR&&, range_type>>* =
6677
                  nullptr>
6678
    explicit scan_result(scan_result<OtherR, Args...>&& o)
6679
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
6680
          value_base(SCN_MOVE(o.values()))
6681
    {
6682
    }
6683
6684
    template <typename OtherR,
6685
              typename =
6686
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6687
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
6688
    {
6689
        this->assign_range(o);
6690
        this->values() = o.values();
6691
        return *this;
6692
    }
6693
6694
    template <typename OtherR,
6695
              typename =
6696
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
6697
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
6698
    {
6699
        this->assign_range(o);
6700
        this->values() = SCN_MOVE(o.values());
6701
        return *this;
6702
    }
6703
};
6704
6705
template <typename R, typename... Args>
6706
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
6707
template <typename R, typename Ctx, typename... Args>
6708
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
6709
    -> scan_result<R, Args...>;
6710
6711
namespace detail {
6712
template <typename SourceRange>
6713
auto make_vscan_result_range_end(SourceRange& source)
6714
749k
{
6715
749k
    return ranges::end(source);
6716
749k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
6714
363k
{
6715
363k
    return ranges::end(source);
6716
363k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
6714
362k
{
6715
362k
    return ranges::end(source);
6716
362k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
6714
11.3k
{
6715
11.3k
    return ranges::end(source);
6716
11.3k
}
auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
6714
11.3k
{
6715
11.3k
    return ranges::end(source);
6716
11.3k
}
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: auto scn::v4::detail::make_vscan_result_range_end<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t> >(scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>&)
6717
template <typename CharT, size_t N>
6718
auto make_vscan_result_range_end(CharT (&source)[N])
6719
    -> ranges::sentinel_t<CharT (&)[N]>
6720
{
6721
    return source + N - 1;
6722
}
6723
6724
template <typename SourceRange>
6725
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
6726
    -> borrowed_tail_subrange_t<SourceRange>
6727
749k
{
6728
    if constexpr (ranges::random_access_iterator<
6729
749k
                      ranges::iterator_t<SourceRange>>) {
6730
749k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6731
    }
6732
0
    else {
6733
0
        auto it = ranges::begin(source);
6734
0
        while (n > 0) {
6735
0
            --n;
6736
0
            ++it;
6737
0
        }
6738
0
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6739
0
    }
6740
749k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6727
363k
{
6728
    if constexpr (ranges::random_access_iterator<
6729
363k
                      ranges::iterator_t<SourceRange>>) {
6730
363k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6731
    }
6732
    else {
6733
        auto it = ranges::begin(source);
6734
        while (n > 0) {
6735
            --n;
6736
            ++it;
6737
        }
6738
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6739
    }
6740
363k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6727
362k
{
6728
    if constexpr (ranges::random_access_iterator<
6729
362k
                      ranges::iterator_t<SourceRange>>) {
6730
362k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6731
    }
6732
    else {
6733
        auto it = ranges::begin(source);
6734
        while (n > 0) {
6735
            --n;
6736
            ++it;
6737
        }
6738
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6739
    }
6740
362k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
6727
11.3k
{
6728
    if constexpr (ranges::random_access_iterator<
6729
11.3k
                      ranges::iterator_t<SourceRange>>) {
6730
11.3k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6731
    }
6732
    else {
6733
        auto it = ranges::begin(source);
6734
        while (n > 0) {
6735
            --n;
6736
            ++it;
6737
        }
6738
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6739
    }
6740
11.3k
}
_ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
6727
11.3k
{
6728
    if constexpr (ranges::random_access_iterator<
6729
11.3k
                      ranges::iterator_t<SourceRange>>) {
6730
11.3k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
6731
    }
6732
    else {
6733
        auto it = ranges::begin(source);
6734
        while (n > 0) {
6735
            --n;
6736
            ++it;
6737
        }
6738
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
6739
    }
6740
11.3k
}
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISC_EEE4typeEOSC_l
Unexecuted instantiation: _ZN3scn2v46detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISD_EEE4typeEOSD_l
6741
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
6742
0
{
6743
0
    return source;
6744
0
}
6745
}  // namespace detail
6746
6747
/////////////////////////////////////////////////////////////////
6748
// Format string parsing
6749
/////////////////////////////////////////////////////////////////
6750
6751
namespace detail {
6752
/// Parse context with extra data used only for compile-time checks
6753
template <typename CharT>
6754
class compile_parse_context : public basic_scan_parse_context<CharT> {
6755
    using base = basic_scan_parse_context<CharT>;
6756
6757
public:
6758
    template <typename Source>
6759
    explicit constexpr compile_parse_context(
6760
        source_tag_type<Source>,
6761
        std::basic_string_view<CharT> format_str,
6762
        int num_args,
6763
        const arg_type* types,
6764
        int next_arg_id = 0)
6765
        : base(source_tag<Source>, format_str, next_arg_id),
6766
          m_num_args(num_args),
6767
          m_types(types)
6768
    {
6769
    }
6770
6771
    SCN_NODISCARD constexpr int get_num_args() const
6772
0
    {
6773
0
        return m_num_args;
6774
0
    }
Unexecuted instantiation: scn::v4::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v4::detail::compile_parse_context<wchar_t>::get_num_args() const
6775
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
6776
    {
6777
        return m_types[id];
6778
    }
6779
6780
    SCN_GCC_PUSH
6781
    SCN_GCC_IGNORE("-Wsign-conversion")
6782
6783
    constexpr std::size_t next_arg_id()
6784
    {
6785
        auto id = base::next_arg_id();
6786
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6787
            this->on_error("Argument not found");
6788
        }
6789
        return id;
6790
    }
6791
6792
    constexpr void check_arg_id(std::size_t id)
6793
    {
6794
        base::check_arg_id(id);
6795
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
6796
            this->on_error("Argument not found");
6797
        }
6798
    }
6799
    using base::check_arg_id;
6800
6801
private:
6802
    int m_num_args;
6803
    const arg_type* m_types;
6804
6805
    SCN_GCC_POP  // -Wsign-conversion
6806
};
6807
6808
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6809
0
{
6810
0
#ifdef __cpp_lib_is_constant_evaluated
6811
0
    SCN_UNUSED(default_value);
6812
0
    return std::is_constant_evaluated();
6813
0
#else
6814
0
    return default_value;
6815
0
#endif
6816
0
}
6817
}  // namespace detail
6818
6819
template <typename CharT>
6820
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6821
1.02M
{
6822
1.02M
    if (detail::is_constant_evaluated() &&
6823
1.02M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6824
        // The cast below will cause an error on gcc pre-12
6825
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6826
0
        if (static_cast<int>(id) >=
6827
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6828
0
            SCN_UNLIKELY_ATTR
6829
0
            on_error("Argument not found");
6830
0
        }
6831
0
    }
6832
1.02M
}
scn::v4::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6821
710k
{
6822
710k
    if (detail::is_constant_evaluated() &&
6823
710k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6824
        // The cast below will cause an error on gcc pre-12
6825
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6826
0
        if (static_cast<int>(id) >=
6827
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6828
0
            SCN_UNLIKELY_ATTR
6829
0
            on_error("Argument not found");
6830
0
        }
6831
0
    }
6832
710k
}
scn::v4::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6821
318k
{
6822
318k
    if (detail::is_constant_evaluated() &&
6823
318k
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6824
        // The cast below will cause an error on gcc pre-12
6825
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6826
0
        if (static_cast<int>(id) >=
6827
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6828
0
            SCN_UNLIKELY_ATTR
6829
0
            on_error("Argument not found");
6830
0
        }
6831
0
    }
6832
318k
}
6833
6834
namespace detail {
6835
enum class align_type : unsigned char {
6836
    none = 0,
6837
    left = 1,   // '<'
6838
    right = 2,  // '>'
6839
    center = 3  // '^'
6840
};
6841
6842
enum class presentation_type {
6843
    none,
6844
    int_binary,            // 'b', 'B'
6845
    int_decimal,           // 'd'
6846
    int_generic,           // 'i'
6847
    int_unsigned_decimal,  // 'u'
6848
    int_octal,             // 'o'
6849
    int_hex,               // 'x', 'X'
6850
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6851
    float_hex,             // 'a', 'A'
6852
    float_scientific,      // 'e', 'E'
6853
    float_fixed,           // 'f', 'F'
6854
    float_general,         // 'g', 'G'
6855
    string,                // 's'
6856
    string_set,            // '[...]'
6857
    regex,                 // '/.../.'
6858
    regex_escaped,         // '/..\/../.'
6859
    character,             // 'c'
6860
    escaped_character,     // '?'
6861
    pointer,               // 'p'
6862
};
6863
6864
enum class regex_flags {
6865
    none = 0,
6866
    multiline = 1,   // /m
6867
    singleline = 2,  // /s
6868
    nocase = 4,      // /i
6869
    nocapture = 8,   // /n
6870
    // TODO?
6871
    // would probably need to go hand-in-hand with locale,
6872
    // where it could even be the default/only option -> no flag?
6873
    // why else would you even use locale with a regex?
6874
    // collate = 16,
6875
};
6876
6877
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6878
0
{
6879
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6880
0
                                    static_cast<unsigned>(b));
6881
0
}
6882
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6883
0
{
6884
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6885
0
                                    static_cast<unsigned>(b));
6886
0
}
6887
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6888
0
{
6889
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6890
0
                                    static_cast<unsigned>(b));
6891
0
}
6892
6893
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6894
0
{
6895
0
    return a = a & b;
6896
0
}
6897
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6898
0
{
6899
0
    return a = a | b;
6900
0
}
6901
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6902
0
{
6903
0
    return a = a ^ b;
6904
0
}
6905
6906
class fill_type {
6907
public:
6908
    constexpr void operator=(char c)
6909
0
    {
6910
0
        m_data[0] = c;
6911
0
        m_size = 1;
6912
0
    }
6913
6914
    template <typename CharT>
6915
    constexpr void operator=(std::basic_string_view<CharT> s)
6916
0
    {
6917
0
        SCN_EXPECT(!s.empty());
6918
0
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6919
0
        if constexpr (sizeof(CharT) == 1) {
6920
0
            for (size_t i = 0; i < s.size(); ++i) {
6921
0
                SCN_GCC_PUSH
6922
0
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6923
0
                m_data[i] = s[i];
6924
0
                SCN_GCC_POP
6925
0
            }
6926
0
            m_size = static_cast<unsigned char>(s.size());
6927
        }
6928
        else if constexpr (sizeof(CharT) == 2) {
6929
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6930
            m_data[1] =
6931
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6932
            if (s.size() == 1) {
6933
                return;
6934
            }
6935
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6936
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6937
        }
6938
0
        else {
6939
0
            const auto front = static_cast<unsigned>(s.front());
6940
0
            m_data[0] = static_cast<char>(front);
6941
0
            m_data[1] = static_cast<char>(front >> 8);
6942
0
            m_data[2] = static_cast<char>(front >> 16);
6943
0
            m_data[3] = static_cast<char>(front >> 24);
6944
0
        }
6945
0
    }
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
6946
6947
    constexpr size_t size() const
6948
0
    {
6949
0
        return m_size;
6950
0
    }
6951
6952
    template <typename CharT>
6953
    CharT get_code_unit() const
6954
0
    {
6955
0
        SCN_EXPECT(m_size <= sizeof(CharT));
6956
0
        CharT r{};
6957
0
        std::memcpy(&r, m_data, m_size);
6958
0
        return r;
6959
0
    }
Unexecuted instantiation: char scn::v4::detail::fill_type::get_code_unit<char>() const
Unexecuted instantiation: wchar_t scn::v4::detail::fill_type::get_code_unit<wchar_t>() const
6960
6961
    template <typename CharT>
6962
    std::basic_string_view<CharT> get_code_units() const
6963
0
    {
6964
0
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6965
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::fill_type::get_code_units<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::fill_type::get_code_units<wchar_t>() const
6966
6967
private:
6968
    static constexpr size_t max_size = 4;
6969
    char m_data[max_size] = {' '};
6970
    unsigned char m_size{1};
6971
};
6972
6973
struct format_specs {
6974
    int width{0}, precision{0};
6975
    fill_type fill{};
6976
    presentation_type type{presentation_type::none};
6977
    std::array<uint8_t, 128 / 8> charset_literals{0};
6978
    bool charset_has_nonascii{false}, charset_is_inverted{false};
6979
    const void* charset_string_data{nullptr};
6980
    size_t charset_string_size{0};
6981
    regex_flags regexp_flags{regex_flags::none};
6982
    unsigned char arbitrary_base{0};
6983
    align_type align{align_type::none};
6984
    bool localized{false};
6985
6986
    constexpr format_specs() = default;
6987
6988
    SCN_NODISCARD constexpr int get_base() const
6989
858k
    {
6990
858k
        SCN_GCC_COMPAT_PUSH
6991
858k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
6992
858k
        switch (type) {
6993
174k
            case presentation_type::none:
6994
174k
                return 10;
6995
175k
            case presentation_type::int_generic:
6996
175k
                return 0;
6997
0
            case presentation_type::int_arbitrary_base:
6998
0
                return arbitrary_base;
6999
7000
76.7k
            case presentation_type::int_binary:
7001
76.7k
                return 2;
7002
110k
            case presentation_type::int_octal:
7003
110k
                return 8;
7004
157k
            case presentation_type::int_decimal:
7005
157k
            case presentation_type::int_unsigned_decimal:
7006
157k
                return 10;
7007
164k
            case presentation_type::int_hex:
7008
164k
                return 16;
7009
7010
0
            default:
7011
0
                SCN_EXPECT(false);
7012
858k
                SCN_UNREACHABLE;
7013
858k
        }
7014
858k
        SCN_GCC_COMPAT_POP
7015
858k
    }
7016
7017
    template <typename CharT>
7018
    std::basic_string_view<CharT> charset_string() const
7019
0
    {
7020
0
        return {reinterpret_cast<const CharT*>(charset_string_data),
7021
0
                charset_string_size};
7022
0
    }
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::format_specs::charset_string<char>() const
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::format_specs::charset_string<wchar_t>() const
7023
};
7024
7025
struct specs_setter {
7026
public:
7027
1.02M
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
7028
7029
    constexpr void on_align(align_type align)
7030
0
    {
7031
0
        m_specs.align = align;
7032
0
    }
7033
    template <typename CharT>
7034
    constexpr void on_fill(std::basic_string_view<CharT> fill)
7035
0
    {
7036
0
        m_specs.fill = fill;
7037
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7038
    template <bool Dependent = true>
7039
    constexpr void on_localized()
7040
179k
    {
7041
179k
        if constexpr (!SCN_DISABLE_LOCALE) {
7042
179k
            m_specs.localized = true;
7043
        }
7044
        else {
7045
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
7046
        }
7047
179k
    }
7048
7049
    constexpr void on_width(int width)
7050
0
    {
7051
0
        if (m_specs.precision != 0 && width > m_specs.precision) {
7052
            // clang-format off
7053
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7054
            // clang-format on
7055
0
        }
7056
7057
0
        m_specs.width = width;
7058
0
    }
7059
    constexpr void on_precision(int prec)
7060
0
    {
7061
0
        if (m_specs.width > prec) {
7062
            // clang-format off
7063
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
7064
            // clang-format on
7065
0
        }
7066
7067
0
        m_specs.precision = prec;
7068
0
    }
7069
7070
    constexpr void on_type(presentation_type type)
7071
750k
    {
7072
750k
        m_specs.type = type;
7073
750k
    }
7074
7075
    constexpr void on_charset_single(char32_t cp)
7076
0
    {
7077
0
        const auto cp_value = static_cast<unsigned>(cp);
7078
0
        if (SCN_LIKELY(cp_value <= 127)) {
7079
0
            m_specs.charset_literals[cp_value / 8] |=
7080
0
                static_cast<unsigned char>(1ul << (cp_value % 8));
7081
0
        }
7082
0
        else {
7083
0
            m_specs.charset_has_nonascii = true;
7084
0
        }
7085
0
    }
7086
7087
    constexpr void on_charset_range(char32_t begin, char32_t end)
7088
0
    {
7089
0
        const auto begin_value = static_cast<unsigned>(begin);
7090
0
        const auto end_value = static_cast<unsigned>(end);
7091
0
        SCN_EXPECT(begin_value < end_value);
7092
7093
0
        if (SCN_LIKELY(end_value <= 127)) {
7094
            // No need to bit-twiddle with a mask, because with the
7095
            // SCN_ASSUME, -O3 will optimize this to a single operation
7096
0
            SCN_ASSUME(begin_value < end_value);
7097
0
            for (auto v = begin_value; v != end_value; ++v) {
7098
0
                m_specs.charset_literals[v / 8] |=
7099
0
                    static_cast<unsigned char>(1ul << (v % 8));
7100
0
            }
7101
0
        }
7102
0
        else {
7103
0
            m_specs.charset_has_nonascii = true;
7104
0
        }
7105
0
    }
7106
7107
    constexpr void on_charset_inverted()
7108
0
    {
7109
0
        m_specs.charset_is_inverted = true;
7110
0
    }
7111
7112
    template <typename CharT>
7113
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
7114
0
    {
7115
0
        m_specs.charset_string_data = fmt.data();
7116
0
        m_specs.charset_string_size = fmt.size();
7117
0
        on_type(presentation_type::string_set);
7118
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7119
7120
    template <typename CharT>
7121
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
7122
0
    {
7123
0
        m_specs.charset_string_data = pattern.data();
7124
0
        m_specs.charset_string_size = pattern.size();
7125
0
    }
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: void scn::v4::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
7126
    constexpr void on_regex_flags(regex_flags flags)
7127
0
    {
7128
0
        m_specs.regexp_flags = flags;
7129
0
    }
7130
7131
    // Intentionally not constexpr
7132
    void on_error(const char* msg)
7133
99.0k
    {
7134
99.0k
        SCN_UNLIKELY_ATTR
7135
99.0k
        m_error = unexpected_scan_error(scan_error::invalid_format_string, msg);
7136
99.0k
    }
7137
    void on_error(scan_error err)
7138
0
    {
7139
0
        SCN_UNLIKELY_ATTR
7140
0
        m_error = unexpected(err);
7141
0
    }
7142
7143
    constexpr scan_expected<void> get_error() const
7144
929k
    {
7145
929k
        return m_error;
7146
929k
    }
7147
7148
protected:
7149
    format_specs& m_specs;
7150
    scan_expected<void> m_error;
7151
};
7152
7153
template <typename CharT>
7154
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
7155
0
{
7156
0
    SCN_EXPECT(begin != end);
7157
0
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
7158
7159
0
    unsigned long long value = 0;
7160
0
    do {
7161
0
        value *= 10;
7162
0
        value += static_cast<unsigned long long>(*begin - '0');
7163
0
        if (value >
7164
0
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
7165
0
            return -1;
7166
0
        }
7167
0
        ++begin;
7168
0
    } while (begin != end && *begin >= '0' && *begin <= '9');
7169
0
    return static_cast<int>(value);
7170
0
}
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<char>(char const*&, char const*)
Unexecuted instantiation: int scn::v4::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
7171
7172
template <typename CharT, typename IDHandler>
7173
constexpr const CharT* do_parse_arg_id(const CharT* begin,
7174
                                       const CharT* end,
7175
                                       IDHandler&& handler)
7176
0
{
7177
0
    SCN_EXPECT(begin != end);
7178
7179
0
    CharT c = *begin;
7180
0
    if (c < CharT{'0'} || c > CharT{'9'}) {
7181
0
        handler.on_error("Invalid argument ID");
7182
0
        return begin;
7183
0
    }
7184
7185
0
    int idx = 0;
7186
0
    if (c != CharT{'0'}) {
7187
0
        idx = parse_simple_int(begin, end);
7188
0
    }
7189
0
    else {
7190
0
        ++begin;
7191
0
    }
7192
7193
0
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
7194
0
        handler.on_error("Invalid argument ID");
7195
0
        return begin;
7196
0
    }
7197
0
    handler(idx);
7198
7199
0
    return begin;
7200
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::do_parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::do_parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
7201
7202
template <typename CharT, typename IDHandler>
7203
constexpr const CharT* parse_arg_id(const CharT* begin,
7204
                                    const CharT* end,
7205
                                    IDHandler&& handler)
7206
1.02M
{
7207
1.02M
    SCN_EXPECT(begin != end);
7208
1.02M
    if (*begin != '}' && *begin != ':') {
7209
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7210
0
    }
7211
7212
1.02M
    handler();
7213
1.02M
    return begin;
7214
1.02M
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
7206
354k
{
7207
354k
    SCN_EXPECT(begin != end);
7208
354k
    if (*begin != '}' && *begin != ':') {
7209
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7210
0
    }
7211
7212
354k
    handler();
7213
354k
    return begin;
7214
354k
}
impl.cpp:char const* scn::v4::detail::parse_arg_id<char, scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
7206
355k
{
7207
355k
    SCN_EXPECT(begin != end);
7208
355k
    if (*begin != '}' && *begin != ':') {
7209
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7210
0
    }
7211
7212
355k
    handler();
7213
355k
    return begin;
7214
355k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
7206
159k
{
7207
159k
    SCN_EXPECT(begin != end);
7208
159k
    if (*begin != '}' && *begin != ':') {
7209
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7210
0
    }
7211
7212
159k
    handler();
7213
159k
    return begin;
7214
159k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_arg_id<wchar_t, scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
7206
159k
{
7207
159k
    SCN_EXPECT(begin != end);
7208
159k
    if (*begin != '}' && *begin != ':') {
7209
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
7210
0
    }
7211
7212
159k
    handler();
7213
159k
    return begin;
7214
159k
}
7215
7216
template <typename CharT>
7217
constexpr presentation_type parse_presentation_type(CharT type)
7218
849k
{
7219
849k
    switch (type) {
7220
78.2k
        case 'b':
7221
127k
        case 'B':
7222
127k
            return presentation_type::int_binary;
7223
161k
        case 'd':
7224
161k
            return presentation_type::int_decimal;
7225
179k
        case 'i':
7226
179k
            return presentation_type::int_generic;
7227
0
        case 'u':
7228
0
            return presentation_type::int_unsigned_decimal;
7229
112k
        case 'o':
7230
112k
            return presentation_type::int_octal;
7231
169k
        case 'x':
7232
169k
        case 'X':
7233
169k
            return presentation_type::int_hex;
7234
0
        case 'r':
7235
0
        case 'R':
7236
0
            return presentation_type::int_arbitrary_base;
7237
0
        case 'a':
7238
0
        case 'A':
7239
0
            return presentation_type::float_hex;
7240
0
        case 'e':
7241
0
        case 'E':
7242
0
            return presentation_type::float_scientific;
7243
0
        case 'f':
7244
0
        case 'F':
7245
0
            return presentation_type::float_fixed;
7246
0
        case 'g':
7247
0
        case 'G':
7248
0
            return presentation_type::float_general;
7249
0
        case 's':
7250
0
            return presentation_type::string;
7251
0
        case 'c':
7252
0
            return presentation_type::character;
7253
0
        case '?':
7254
0
            return presentation_type::escaped_character;
7255
0
        case 'p':
7256
0
            return presentation_type::pointer;
7257
0
        case '[':
7258
0
        case '/':
7259
            // Should be handled by parse_presentation_set and
7260
            // parse_presentation_regex
7261
0
            SCN_EXPECT(false);
7262
0
            SCN_UNREACHABLE;
7263
99.0k
        default:
7264
99.0k
            return presentation_type::none;
7265
849k
    }
7266
849k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<char>(char)
Line
Count
Source
7218
581k
{
7219
581k
    switch (type) {
7220
44.7k
        case 'b':
7221
61.2k
        case 'B':
7222
61.2k
            return presentation_type::int_binary;
7223
127k
        case 'd':
7224
127k
            return presentation_type::int_decimal;
7225
145k
        case 'i':
7226
145k
            return presentation_type::int_generic;
7227
0
        case 'u':
7228
0
            return presentation_type::int_unsigned_decimal;
7229
79.4k
        case 'o':
7230
79.4k
            return presentation_type::int_octal;
7231
134k
        case 'x':
7232
134k
        case 'X':
7233
134k
            return presentation_type::int_hex;
7234
0
        case 'r':
7235
0
        case 'R':
7236
0
            return presentation_type::int_arbitrary_base;
7237
0
        case 'a':
7238
0
        case 'A':
7239
0
            return presentation_type::float_hex;
7240
0
        case 'e':
7241
0
        case 'E':
7242
0
            return presentation_type::float_scientific;
7243
0
        case 'f':
7244
0
        case 'F':
7245
0
            return presentation_type::float_fixed;
7246
0
        case 'g':
7247
0
        case 'G':
7248
0
            return presentation_type::float_general;
7249
0
        case 's':
7250
0
            return presentation_type::string;
7251
0
        case 'c':
7252
0
            return presentation_type::character;
7253
0
        case '?':
7254
0
            return presentation_type::escaped_character;
7255
0
        case 'p':
7256
0
            return presentation_type::pointer;
7257
0
        case '[':
7258
0
        case '/':
7259
            // Should be handled by parse_presentation_set and
7260
            // parse_presentation_regex
7261
0
            SCN_EXPECT(false);
7262
0
            SCN_UNREACHABLE;
7263
33.0k
        default:
7264
33.0k
            return presentation_type::none;
7265
581k
    }
7266
581k
}
scn::v4::detail::presentation_type scn::v4::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
7218
268k
{
7219
268k
    switch (type) {
7220
33.4k
        case 'b':
7221
66.4k
        case 'B':
7222
66.4k
            return presentation_type::int_binary;
7223
33.9k
        case 'd':
7224
33.9k
            return presentation_type::int_decimal;
7225
33.9k
        case 'i':
7226
33.9k
            return presentation_type::int_generic;
7227
0
        case 'u':
7228
0
            return presentation_type::int_unsigned_decimal;
7229
33.5k
        case 'o':
7230
33.5k
            return presentation_type::int_octal;
7231
34.0k
        case 'x':
7232
34.0k
        case 'X':
7233
34.0k
            return presentation_type::int_hex;
7234
0
        case 'r':
7235
0
        case 'R':
7236
0
            return presentation_type::int_arbitrary_base;
7237
0
        case 'a':
7238
0
        case 'A':
7239
0
            return presentation_type::float_hex;
7240
0
        case 'e':
7241
0
        case 'E':
7242
0
            return presentation_type::float_scientific;
7243
0
        case 'f':
7244
0
        case 'F':
7245
0
            return presentation_type::float_fixed;
7246
0
        case 'g':
7247
0
        case 'G':
7248
0
            return presentation_type::float_general;
7249
0
        case 's':
7250
0
            return presentation_type::string;
7251
0
        case 'c':
7252
0
            return presentation_type::character;
7253
0
        case '?':
7254
0
            return presentation_type::escaped_character;
7255
0
        case 'p':
7256
0
            return presentation_type::pointer;
7257
0
        case '[':
7258
0
        case '/':
7259
            // Should be handled by parse_presentation_set and
7260
            // parse_presentation_regex
7261
0
            SCN_EXPECT(false);
7262
0
            SCN_UNREACHABLE;
7263
66.0k
        default:
7264
66.0k
            return presentation_type::none;
7265
268k
    }
7266
268k
}
7267
7268
template <typename CharT>
7269
constexpr bool is_ascii_letter(CharT ch)
7270
929k
{
7271
929k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7272
929k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7273
929k
}
bool scn::v4::detail::is_ascii_letter<char>(char)
Line
Count
Source
7270
677k
{
7271
677k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7272
677k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7273
677k
}
bool scn::v4::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
7270
252k
{
7271
252k
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
7272
252k
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
7273
252k
}
7274
7275
template <typename CharT>
7276
constexpr int code_point_length(const CharT* begin, const CharT* end)
7277
328k
{
7278
328k
    SCN_EXPECT(begin != end);
7279
328k
    if constexpr (sizeof(CharT) != 1) {
7280
149k
        return 1;
7281
    }
7282
178k
    else {
7283
178k
        const auto lengths =
7284
178k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7285
178k
            "\3\4";
7286
178k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7287
178k
        return len;
7288
178k
    }
7289
328k
}
int scn::v4::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
7277
178k
{
7278
178k
    SCN_EXPECT(begin != end);
7279
    if constexpr (sizeof(CharT) != 1) {
7280
        return 1;
7281
    }
7282
178k
    else {
7283
178k
        const auto lengths =
7284
178k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7285
178k
            "\3\4";
7286
178k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7287
178k
        return len;
7288
178k
    }
7289
178k
}
int scn::v4::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
7277
149k
{
7278
149k
    SCN_EXPECT(begin != end);
7279
149k
    if constexpr (sizeof(CharT) != 1) {
7280
149k
        return 1;
7281
    }
7282
    else {
7283
        const auto lengths =
7284
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
7285
            "\3\4";
7286
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
7287
        return len;
7288
    }
7289
149k
}
7290
7291
template <typename CharT, typename Handler>
7292
constexpr const CharT* parse_align(const CharT* begin,
7293
                                   const CharT* end,
7294
                                   Handler&& handler)
7295
328k
{
7296
328k
    SCN_EXPECT(begin != end);
7297
7298
656k
    auto check_align = [](wchar_t ch) {
7299
656k
        switch (ch) {
7300
0
            case L'<':
7301
0
                return align_type::left;
7302
0
            case L'>':
7303
0
                return align_type::right;
7304
0
            case L'^':
7305
0
                return align_type::center;
7306
656k
            default:
7307
656k
                return align_type::none;
7308
656k
        }
7309
656k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7298
178k
    auto check_align = [](wchar_t ch) {
7299
178k
        switch (ch) {
7300
0
            case L'<':
7301
0
                return align_type::left;
7302
0
            case L'>':
7303
0
                return align_type::right;
7304
0
            case L'^':
7305
0
                return align_type::center;
7306
178k
            default:
7307
178k
                return align_type::none;
7308
178k
        }
7309
178k
    };
impl.cpp:scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7298
178k
    auto check_align = [](wchar_t ch) {
7299
178k
        switch (ch) {
7300
0
            case L'<':
7301
0
                return align_type::left;
7302
0
            case L'>':
7303
0
                return align_type::right;
7304
0
            case L'^':
7305
0
                return align_type::center;
7306
178k
            default:
7307
178k
                return align_type::none;
7308
178k
        }
7309
178k
    };
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7298
149k
    auto check_align = [](wchar_t ch) {
7299
149k
        switch (ch) {
7300
0
            case L'<':
7301
0
                return align_type::left;
7302
0
            case L'>':
7303
0
                return align_type::right;
7304
0
            case L'^':
7305
0
                return align_type::center;
7306
149k
            default:
7307
149k
                return align_type::none;
7308
149k
        }
7309
149k
    };
impl.cpp:scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
7298
149k
    auto check_align = [](wchar_t ch) {
7299
149k
        switch (ch) {
7300
0
            case L'<':
7301
0
                return align_type::left;
7302
0
            case L'>':
7303
0
                return align_type::right;
7304
0
            case L'^':
7305
0
                return align_type::center;
7306
149k
            default:
7307
149k
                return align_type::none;
7308
149k
        }
7309
149k
    };
7310
7311
328k
    auto potential_fill_len = code_point_length(begin, end);
7312
328k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7313
328k
                     std::distance(begin, end) < potential_fill_len)) {
7314
0
        handler.on_error("Invalid encoding in fill character");
7315
0
        return begin;
7316
0
    }
7317
7318
328k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7319
7320
328k
    auto potential_fill = std::basic_string_view<CharT>{
7321
328k
        begin, static_cast<size_t>(potential_fill_len)};
7322
328k
    const auto begin_before_fill = begin;
7323
328k
    begin += potential_fill_len;
7324
7325
328k
    if (begin == end) {
7326
0
        return begin_before_fill;
7327
0
    }
7328
7329
328k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7330
328k
    const auto begin_after_fill = begin;
7331
328k
    ++begin;
7332
7333
328k
    if (potential_fill_len == 1) {
7334
328k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7335
0
            handler.on_error("Invalid fill character '{' in format string");
7336
0
            return begin;
7337
0
        }
7338
328k
        if (potential_fill[0] == '[') {
7339
0
            return begin_before_fill;
7340
0
        }
7341
328k
    }
7342
7343
328k
    if (potential_align_after_fill == align_type::none) {
7344
328k
        if (potential_align_on_fill != align_type::none) {
7345
0
            handler.on_align(potential_align_on_fill);
7346
0
            return begin_after_fill;
7347
0
        }
7348
328k
        return begin_before_fill;
7349
328k
    }
7350
7351
0
    handler.on_fill(potential_fill);
7352
0
    handler.on_align(potential_align_after_fill);
7353
0
    return begin;
7354
328k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7295
89.1k
{
7296
89.1k
    SCN_EXPECT(begin != end);
7297
7298
89.1k
    auto check_align = [](wchar_t ch) {
7299
89.1k
        switch (ch) {
7300
89.1k
            case L'<':
7301
89.1k
                return align_type::left;
7302
89.1k
            case L'>':
7303
89.1k
                return align_type::right;
7304
89.1k
            case L'^':
7305
89.1k
                return align_type::center;
7306
89.1k
            default:
7307
89.1k
                return align_type::none;
7308
89.1k
        }
7309
89.1k
    };
7310
7311
89.1k
    auto potential_fill_len = code_point_length(begin, end);
7312
89.1k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7313
89.1k
                     std::distance(begin, end) < potential_fill_len)) {
7314
0
        handler.on_error("Invalid encoding in fill character");
7315
0
        return begin;
7316
0
    }
7317
7318
89.1k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7319
7320
89.1k
    auto potential_fill = std::basic_string_view<CharT>{
7321
89.1k
        begin, static_cast<size_t>(potential_fill_len)};
7322
89.1k
    const auto begin_before_fill = begin;
7323
89.1k
    begin += potential_fill_len;
7324
7325
89.1k
    if (begin == end) {
7326
0
        return begin_before_fill;
7327
0
    }
7328
7329
89.1k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7330
89.1k
    const auto begin_after_fill = begin;
7331
89.1k
    ++begin;
7332
7333
89.1k
    if (potential_fill_len == 1) {
7334
89.1k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7335
0
            handler.on_error("Invalid fill character '{' in format string");
7336
0
            return begin;
7337
0
        }
7338
89.1k
        if (potential_fill[0] == '[') {
7339
0
            return begin_before_fill;
7340
0
        }
7341
89.1k
    }
7342
7343
89.1k
    if (potential_align_after_fill == align_type::none) {
7344
89.1k
        if (potential_align_on_fill != align_type::none) {
7345
0
            handler.on_align(potential_align_on_fill);
7346
0
            return begin_after_fill;
7347
0
        }
7348
89.1k
        return begin_before_fill;
7349
89.1k
    }
7350
7351
0
    handler.on_fill(potential_fill);
7352
0
    handler.on_align(potential_align_after_fill);
7353
0
    return begin;
7354
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_align<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7295
89.2k
{
7296
89.2k
    SCN_EXPECT(begin != end);
7297
7298
89.2k
    auto check_align = [](wchar_t ch) {
7299
89.2k
        switch (ch) {
7300
89.2k
            case L'<':
7301
89.2k
                return align_type::left;
7302
89.2k
            case L'>':
7303
89.2k
                return align_type::right;
7304
89.2k
            case L'^':
7305
89.2k
                return align_type::center;
7306
89.2k
            default:
7307
89.2k
                return align_type::none;
7308
89.2k
        }
7309
89.2k
    };
7310
7311
89.2k
    auto potential_fill_len = code_point_length(begin, end);
7312
89.2k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7313
89.2k
                     std::distance(begin, end) < potential_fill_len)) {
7314
0
        handler.on_error("Invalid encoding in fill character");
7315
0
        return begin;
7316
0
    }
7317
7318
89.2k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7319
7320
89.2k
    auto potential_fill = std::basic_string_view<CharT>{
7321
89.2k
        begin, static_cast<size_t>(potential_fill_len)};
7322
89.2k
    const auto begin_before_fill = begin;
7323
89.2k
    begin += potential_fill_len;
7324
7325
89.2k
    if (begin == end) {
7326
0
        return begin_before_fill;
7327
0
    }
7328
7329
89.2k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7330
89.2k
    const auto begin_after_fill = begin;
7331
89.2k
    ++begin;
7332
7333
89.2k
    if (potential_fill_len == 1) {
7334
89.2k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7335
0
            handler.on_error("Invalid fill character '{' in format string");
7336
0
            return begin;
7337
0
        }
7338
89.2k
        if (potential_fill[0] == '[') {
7339
0
            return begin_before_fill;
7340
0
        }
7341
89.2k
    }
7342
7343
89.2k
    if (potential_align_after_fill == align_type::none) {
7344
89.2k
        if (potential_align_on_fill != align_type::none) {
7345
0
            handler.on_align(potential_align_on_fill);
7346
0
            return begin_after_fill;
7347
0
        }
7348
89.2k
        return begin_before_fill;
7349
89.2k
    }
7350
7351
0
    handler.on_fill(potential_fill);
7352
0
    handler.on_align(potential_align_after_fill);
7353
0
    return begin;
7354
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7295
74.7k
{
7296
74.7k
    SCN_EXPECT(begin != end);
7297
7298
74.7k
    auto check_align = [](wchar_t ch) {
7299
74.7k
        switch (ch) {
7300
74.7k
            case L'<':
7301
74.7k
                return align_type::left;
7302
74.7k
            case L'>':
7303
74.7k
                return align_type::right;
7304
74.7k
            case L'^':
7305
74.7k
                return align_type::center;
7306
74.7k
            default:
7307
74.7k
                return align_type::none;
7308
74.7k
        }
7309
74.7k
    };
7310
7311
74.7k
    auto potential_fill_len = code_point_length(begin, end);
7312
74.7k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7313
74.7k
                     std::distance(begin, end) < potential_fill_len)) {
7314
0
        handler.on_error("Invalid encoding in fill character");
7315
0
        return begin;
7316
0
    }
7317
7318
74.7k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7319
7320
74.7k
    auto potential_fill = std::basic_string_view<CharT>{
7321
74.7k
        begin, static_cast<size_t>(potential_fill_len)};
7322
74.7k
    const auto begin_before_fill = begin;
7323
74.7k
    begin += potential_fill_len;
7324
7325
74.7k
    if (begin == end) {
7326
0
        return begin_before_fill;
7327
0
    }
7328
7329
74.7k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7330
74.7k
    const auto begin_after_fill = begin;
7331
74.7k
    ++begin;
7332
7333
74.7k
    if (potential_fill_len == 1) {
7334
74.7k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7335
0
            handler.on_error("Invalid fill character '{' in format string");
7336
0
            return begin;
7337
0
        }
7338
74.7k
        if (potential_fill[0] == '[') {
7339
0
            return begin_before_fill;
7340
0
        }
7341
74.7k
    }
7342
7343
74.7k
    if (potential_align_after_fill == align_type::none) {
7344
74.7k
        if (potential_align_on_fill != align_type::none) {
7345
0
            handler.on_align(potential_align_on_fill);
7346
0
            return begin_after_fill;
7347
0
        }
7348
74.7k
        return begin_before_fill;
7349
74.7k
    }
7350
7351
0
    handler.on_fill(potential_fill);
7352
0
    handler.on_align(potential_align_after_fill);
7353
0
    return begin;
7354
74.7k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_align<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7295
74.7k
{
7296
74.7k
    SCN_EXPECT(begin != end);
7297
7298
74.7k
    auto check_align = [](wchar_t ch) {
7299
74.7k
        switch (ch) {
7300
74.7k
            case L'<':
7301
74.7k
                return align_type::left;
7302
74.7k
            case L'>':
7303
74.7k
                return align_type::right;
7304
74.7k
            case L'^':
7305
74.7k
                return align_type::center;
7306
74.7k
            default:
7307
74.7k
                return align_type::none;
7308
74.7k
        }
7309
74.7k
    };
7310
7311
74.7k
    auto potential_fill_len = code_point_length(begin, end);
7312
74.7k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
7313
74.7k
                     std::distance(begin, end) < potential_fill_len)) {
7314
0
        handler.on_error("Invalid encoding in fill character");
7315
0
        return begin;
7316
0
    }
7317
7318
74.7k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
7319
7320
74.7k
    auto potential_fill = std::basic_string_view<CharT>{
7321
74.7k
        begin, static_cast<size_t>(potential_fill_len)};
7322
74.7k
    const auto begin_before_fill = begin;
7323
74.7k
    begin += potential_fill_len;
7324
7325
74.7k
    if (begin == end) {
7326
0
        return begin_before_fill;
7327
0
    }
7328
7329
74.7k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
7330
74.7k
    const auto begin_after_fill = begin;
7331
74.7k
    ++begin;
7332
7333
74.7k
    if (potential_fill_len == 1) {
7334
74.7k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
7335
0
            handler.on_error("Invalid fill character '{' in format string");
7336
0
            return begin;
7337
0
        }
7338
74.7k
        if (potential_fill[0] == '[') {
7339
0
            return begin_before_fill;
7340
0
        }
7341
74.7k
    }
7342
7343
74.7k
    if (potential_align_after_fill == align_type::none) {
7344
74.7k
        if (potential_align_on_fill != align_type::none) {
7345
0
            handler.on_align(potential_align_on_fill);
7346
0
            return begin_after_fill;
7347
0
        }
7348
74.7k
        return begin_before_fill;
7349
74.7k
    }
7350
7351
0
    handler.on_fill(potential_fill);
7352
0
    handler.on_align(potential_align_after_fill);
7353
0
    return begin;
7354
74.7k
}
7355
7356
template <typename CharT, typename Handler>
7357
constexpr const CharT* parse_width(const CharT* begin,
7358
                                   const CharT* end,
7359
                                   Handler&& handler)
7360
328k
{
7361
328k
    SCN_EXPECT(begin != end);
7362
7363
328k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7364
0
        int width = parse_simple_int(begin, end);
7365
0
        if (SCN_LIKELY(width != -1)) {
7366
0
            handler.on_width(width);
7367
0
        }
7368
0
        else {
7369
0
            handler.on_error("Invalid field width");
7370
0
            return begin;
7371
0
        }
7372
0
    }
7373
328k
    return begin;
7374
328k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7360
89.1k
{
7361
89.1k
    SCN_EXPECT(begin != end);
7362
7363
89.1k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7364
0
        int width = parse_simple_int(begin, end);
7365
0
        if (SCN_LIKELY(width != -1)) {
7366
0
            handler.on_width(width);
7367
0
        }
7368
0
        else {
7369
0
            handler.on_error("Invalid field width");
7370
0
            return begin;
7371
0
        }
7372
0
    }
7373
89.1k
    return begin;
7374
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_width<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7360
89.2k
{
7361
89.2k
    SCN_EXPECT(begin != end);
7362
7363
89.2k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7364
0
        int width = parse_simple_int(begin, end);
7365
0
        if (SCN_LIKELY(width != -1)) {
7366
0
            handler.on_width(width);
7367
0
        }
7368
0
        else {
7369
0
            handler.on_error("Invalid field width");
7370
0
            return begin;
7371
0
        }
7372
0
    }
7373
89.2k
    return begin;
7374
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7360
74.7k
{
7361
74.7k
    SCN_EXPECT(begin != end);
7362
7363
74.7k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7364
0
        int width = parse_simple_int(begin, end);
7365
0
        if (SCN_LIKELY(width != -1)) {
7366
0
            handler.on_width(width);
7367
0
        }
7368
0
        else {
7369
0
            handler.on_error("Invalid field width");
7370
0
            return begin;
7371
0
        }
7372
0
    }
7373
74.7k
    return begin;
7374
74.7k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_width<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7360
74.7k
{
7361
74.7k
    SCN_EXPECT(begin != end);
7362
7363
74.7k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7364
0
        int width = parse_simple_int(begin, end);
7365
0
        if (SCN_LIKELY(width != -1)) {
7366
0
            handler.on_width(width);
7367
0
        }
7368
0
        else {
7369
0
            handler.on_error("Invalid field width");
7370
0
            return begin;
7371
0
        }
7372
0
    }
7373
74.7k
    return begin;
7374
74.7k
}
7375
7376
template <typename CharT, typename Handler>
7377
constexpr const CharT* parse_precision(const CharT* begin,
7378
                                       const CharT* end,
7379
                                       Handler&& handler)
7380
0
{
7381
0
    SCN_EXPECT(begin != end);
7382
7383
0
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
7384
0
        int prec = parse_simple_int(begin, end);
7385
0
        if (SCN_LIKELY(prec != -1)) {
7386
0
            handler.on_precision(prec);
7387
0
        }
7388
0
        else {
7389
0
            handler.on_error("Invalid field precision");
7390
0
            return begin;
7391
0
        }
7392
0
    }
7393
0
    return begin;
7394
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_precision<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_precision<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7395
7396
template <typename CharT, typename SpecHandler>
7397
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
7398
                                                     const CharT* end,
7399
                                                     SpecHandler&& handler)
7400
0
{
7401
0
    SCN_EXPECT(begin != end);
7402
7403
0
    auto len = code_point_length_by_starting_code_unit(*begin);
7404
0
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
7405
0
        handler.on_error("Invalid encoding in format string");
7406
0
        return invalid_code_point;
7407
0
    }
7408
7409
0
    const auto cp =
7410
0
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
7411
0
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7412
0
        handler.on_error("Invalid encoding in format string");
7413
0
        return invalid_code_point;
7414
0
    }
7415
7416
0
    begin += len;
7417
0
    return cp;
7418
0
}
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:char32_t scn::v4::detail::parse_presentation_set_code_point<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7419
7420
template <typename CharT, typename SpecHandler>
7421
constexpr void parse_presentation_set_literal(const CharT*& begin,
7422
                                              const CharT* end,
7423
                                              SpecHandler&& handler)
7424
0
{
7425
0
    SCN_EXPECT(begin != end);
7426
7427
0
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
7428
0
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
7429
0
        return;
7430
0
    }
7431
7432
0
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
7433
0
        *(begin + 1) != CharT{']'}) {
7434
0
        ++begin;
7435
7436
0
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
7437
0
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
7438
0
            return;
7439
0
        }
7440
7441
0
        if (SCN_UNLIKELY(cp_second < cp_first)) {
7442
            // clang-format off
7443
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
7444
            // clang-format on
7445
0
            return;
7446
0
        }
7447
7448
0
        handler.on_charset_range(cp_first, cp_second + 1);
7449
0
        return;
7450
0
    }
7451
7452
0
    handler.on_charset_single(cp_first);
7453
0
}
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:void scn::v4::detail::parse_presentation_set_literal<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7454
7455
template <typename CharT, typename SpecHandler>
7456
constexpr std::basic_string_view<CharT> parse_presentation_set(
7457
    const CharT*& begin,
7458
    const CharT* end,
7459
    SpecHandler&& handler)
7460
0
{
7461
0
    SCN_EXPECT(begin != end);
7462
0
    SCN_EXPECT(*begin == CharT{'['});
7463
7464
0
    auto start = begin;
7465
0
    ++begin;
7466
7467
0
    if (SCN_UNLIKELY(begin == end)) {
7468
        // clang-format off
7469
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
7470
        // clang-format on
7471
0
        return {};
7472
0
    }
7473
0
    if (*begin == CharT{'^'}) {
7474
0
        handler.on_charset_inverted();
7475
0
        ++begin;
7476
0
        if (SCN_UNLIKELY(begin == end)) {
7477
            // clang-format off
7478
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
7479
            // clang-format on
7480
0
            return {};
7481
0
        }
7482
0
        if (*begin == CharT{']'}) {
7483
0
            handler.on_charset_single(char32_t{']'});
7484
0
            ++begin;
7485
0
        }
7486
0
    }
7487
0
    else if (*begin == CharT{']'}) {
7488
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
7489
0
    }
7490
7491
0
    while (begin != end) {
7492
0
        if (SCN_UNLIKELY(!handler.get_error())) {
7493
0
            break;
7494
0
        }
7495
7496
0
        if (*begin == CharT{']'}) {
7497
0
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
7498
0
        }
7499
7500
0
        parse_presentation_set_literal(begin, end, handler);
7501
0
    }
7502
7503
0
    SCN_UNLIKELY_ATTR
7504
0
    handler.on_error("Invalid [character set] specifier in format string");
7505
0
    return {};
7506
0
}
Unexecuted instantiation: std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v4::impl::nonascii_specs_handler&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v4::detail::parse_presentation_set<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v4::detail::parse_presentation_set<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7507
7508
template <typename CharT, typename SpecHandler>
7509
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
7510
                                                const CharT* end,
7511
                                                SpecHandler&& handler)
7512
0
{
7513
0
#if !SCN_DISABLE_REGEX
7514
0
    SCN_EXPECT(begin != end);
7515
0
    SCN_EXPECT(*begin == CharT{'/'});
7516
7517
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
7518
0
                  std::is_same_v<CharT, wchar_t>) {
7519
0
        handler.on_error("Regex backend doesn't support wide strings as input");
7520
0
        return begin;
7521
0
    }
7522
7523
0
    auto start = begin;
7524
0
    ++begin;
7525
7526
0
    if (SCN_UNLIKELY(begin == end)) {
7527
0
        handler.on_error("Unexpected end of regex in format string");
7528
0
        return begin;
7529
0
    }
7530
7531
0
    handler.on_type(presentation_type::regex);
7532
0
    for (; begin != end; ++begin) {
7533
0
        if (*begin == CharT{'/'}) {
7534
0
            if (*(begin - 1) != CharT{'\\'}) {
7535
0
                break;
7536
0
            }
7537
0
            else {
7538
0
                handler.on_type(presentation_type::regex_escaped);
7539
0
            }
7540
0
        }
7541
0
    }
7542
0
    if (SCN_UNLIKELY(begin == end)) {
7543
0
        handler.on_error("Unexpected end of regex in format string");
7544
0
        return begin;
7545
0
    }
7546
7547
0
    auto regex_end = begin;
7548
0
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
7549
0
    if (SCN_UNLIKELY(regex_pattern.empty())) {
7550
0
        handler.on_error("Invalid (empty) regex in format string");
7551
0
        return begin;
7552
0
    }
7553
0
    handler.on_regex_pattern(regex_pattern);
7554
0
    ++begin;
7555
7556
0
    if (SCN_UNLIKELY(begin == end)) {
7557
0
        handler.on_error("Unexpected end of regex in format string");
7558
0
        return begin;
7559
0
    }
7560
7561
0
    regex_flags flags{regex_flags::none};
7562
0
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
7563
0
        {{'m', regex_flags::multiline},
7564
0
         {'s', regex_flags::singleline},
7565
0
         {'i', regex_flags::nocase},
7566
0
         {'n', regex_flags::nocapture}}};
7567
0
    for (; begin != end; ++begin) {
7568
0
        if (*begin == CharT{'}'}) {
7569
0
            break;
7570
0
        }
7571
0
        bool found_flag = false;
7572
0
        for (auto flag : flag_map) {
7573
0
            if (static_cast<CharT>(flag.first) != *begin) {
7574
0
                continue;
7575
0
            }
7576
0
            if ((flags & flag.second) != regex_flags::none) {
7577
0
                handler.on_error("Flag set multiple times in regex");
7578
0
                return begin;
7579
0
            }
7580
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
7581
            if (*begin == CharT{'s'}) {
7582
                // clang-format off
7583
                handler.on_error("/s flag for regex isn't supported by regex backend");
7584
                // clang-format on
7585
            }
7586
#if !SCN_HAS_STD_REGEX_MULTILINE
7587
            if (*begin == CharT{'m'}) {
7588
                // clang-format off
7589
                handler.on_error("/m flag for regex isn't supported by regex backend");
7590
                // clang-format on
7591
            }
7592
#endif
7593
#endif
7594
0
            flags |= flag.second;
7595
0
            found_flag = true;
7596
0
            break;
7597
0
        }
7598
0
        if (!found_flag) {
7599
0
            handler.on_error("Invalid flag in regex");
7600
0
            return begin;
7601
0
        }
7602
0
    }
7603
0
    handler.on_regex_flags(flags);
7604
7605
0
    if (SCN_UNLIKELY(begin == end)) {
7606
0
        handler.on_error("Unexpected end of regex in format string");
7607
0
        return begin;
7608
0
    }
7609
7610
0
    return begin;
7611
#else
7612
    handler.on_error("Regular expression support is disabled");
7613
    return {};
7614
#endif
7615
0
}
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Unexecuted instantiation: impl.cpp:char const* scn::v4::detail::parse_presentation_regex<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*&, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v4::detail::parse_presentation_regex<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
7616
7617
template <typename CharT, typename SpecHandler>
7618
constexpr const CharT* parse_format_specs(const CharT* begin,
7619
                                          const CharT* end,
7620
                                          SpecHandler&& handler)
7621
1.02M
{
7622
1.02M
    auto do_presentation = [&]() -> const CharT* {
7623
849k
        if (*begin == CharT{'['}) {
7624
0
            auto set = parse_presentation_set(begin, end, handler);
7625
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
0
                return begin;
7630
0
            }
7631
0
            handler.on_character_set_string(set);
7632
0
            return begin;
7633
0
        }
7634
849k
        if (*begin == CharT{'/'}) {
7635
0
            return parse_presentation_regex(begin, end, handler);
7636
0
        }
7637
849k
        presentation_type type = parse_presentation_type(*begin++);
7638
849k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
99.0k
            handler.on_error("Invalid type specifier in format string");
7640
99.0k
            return begin;
7641
99.0k
        }
7642
750k
        handler.on_type(type);
7643
750k
        return begin;
7644
849k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7622
290k
    auto do_presentation = [&]() -> const CharT* {
7623
290k
        if (*begin == CharT{'['}) {
7624
0
            auto set = parse_presentation_set(begin, end, handler);
7625
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
0
                return begin;
7630
0
            }
7631
0
            handler.on_character_set_string(set);
7632
0
            return begin;
7633
0
        }
7634
290k
        if (*begin == CharT{'/'}) {
7635
0
            return parse_presentation_regex(begin, end, handler);
7636
0
        }
7637
290k
        presentation_type type = parse_presentation_type(*begin++);
7638
290k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
16.5k
            handler.on_error("Invalid type specifier in format string");
7640
16.5k
            return begin;
7641
16.5k
        }
7642
273k
        handler.on_type(type);
7643
273k
        return begin;
7644
290k
    };
impl.cpp:scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7622
290k
    auto do_presentation = [&]() -> const CharT* {
7623
290k
        if (*begin == CharT{'['}) {
7624
0
            auto set = parse_presentation_set(begin, end, handler);
7625
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
0
                return begin;
7630
0
            }
7631
0
            handler.on_character_set_string(set);
7632
0
            return begin;
7633
0
        }
7634
290k
        if (*begin == CharT{'/'}) {
7635
0
            return parse_presentation_regex(begin, end, handler);
7636
0
        }
7637
290k
        presentation_type type = parse_presentation_type(*begin++);
7638
290k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
16.5k
            handler.on_error("Invalid type specifier in format string");
7640
16.5k
            return begin;
7641
16.5k
        }
7642
274k
        handler.on_type(type);
7643
274k
        return begin;
7644
290k
    };
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7622
134k
    auto do_presentation = [&]() -> const CharT* {
7623
134k
        if (*begin == CharT{'['}) {
7624
0
            auto set = parse_presentation_set(begin, end, handler);
7625
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
0
                return begin;
7630
0
            }
7631
0
            handler.on_character_set_string(set);
7632
0
            return begin;
7633
0
        }
7634
134k
        if (*begin == CharT{'/'}) {
7635
0
            return parse_presentation_regex(begin, end, handler);
7636
0
        }
7637
134k
        presentation_type type = parse_presentation_type(*begin++);
7638
134k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
33.0k
            handler.on_error("Invalid type specifier in format string");
7640
33.0k
            return begin;
7641
33.0k
        }
7642
100k
        handler.on_type(type);
7643
100k
        return begin;
7644
134k
    };
impl.cpp:scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
7622
134k
    auto do_presentation = [&]() -> const CharT* {
7623
134k
        if (*begin == CharT{'['}) {
7624
0
            auto set = parse_presentation_set(begin, end, handler);
7625
0
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
0
                return begin;
7630
0
            }
7631
0
            handler.on_character_set_string(set);
7632
0
            return begin;
7633
0
        }
7634
134k
        if (*begin == CharT{'/'}) {
7635
0
            return parse_presentation_regex(begin, end, handler);
7636
0
        }
7637
134k
        presentation_type type = parse_presentation_type(*begin++);
7638
134k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
33.0k
            handler.on_error("Invalid type specifier in format string");
7640
33.0k
            return begin;
7641
33.0k
        }
7642
100k
        handler.on_type(type);
7643
100k
        return begin;
7644
134k
    };
7645
7646
1.02M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7647
1.02M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7648
700k
        return do_presentation();
7649
700k
    }
7650
7651
328k
    if (SCN_UNLIKELY(begin == end)) {
7652
0
        handler.on_error("Unexpected end of format string");
7653
0
        return begin;
7654
0
    }
7655
7656
328k
    begin = parse_align(begin, end, handler);
7657
328k
    if (SCN_UNLIKELY(begin == end)) {
7658
0
        handler.on_error("Unexpected end of format string");
7659
0
        return begin;
7660
0
    }
7661
7662
328k
    begin = parse_width(begin, end, handler);
7663
328k
    if (SCN_UNLIKELY(begin == end)) {
7664
0
        handler.on_error("Unexpected end of format string");
7665
0
        return begin;
7666
0
    }
7667
7668
328k
    if (*begin == CharT{'.'}) {
7669
0
        ++begin;
7670
0
        if (SCN_UNLIKELY(begin == end)) {
7671
0
            handler.on_error("Unexpected end of format string");
7672
0
            return begin;
7673
0
        }
7674
0
        begin = parse_precision(begin, end, handler);
7675
0
        if (SCN_UNLIKELY(begin == end)) {
7676
0
            handler.on_error("Unexpected end of format string");
7677
0
            return begin;
7678
0
        }
7679
0
    }
7680
7681
328k
    if (*begin == CharT{'L'}) {
7682
179k
        handler.on_localized();
7683
179k
        ++begin;
7684
179k
    }
7685
328k
    if (SCN_UNLIKELY(begin == end)) {
7686
0
        handler.on_error("Unexpected end of format string");
7687
0
        return begin;
7688
0
    }
7689
7690
328k
    if (begin != end && *begin != CharT{'}'}) {
7691
148k
        do_presentation();
7692
148k
    }
7693
328k
    if (SCN_UNLIKELY(begin == end)) {
7694
0
        handler.on_error("Unexpected end of format string");
7695
0
        return begin;
7696
0
    }
7697
7698
328k
    return begin;
7699
328k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >&)
Line
Count
Source
7621
354k
{
7622
354k
    auto do_presentation = [&]() -> const CharT* {
7623
354k
        if (*begin == CharT{'['}) {
7624
354k
            auto set = parse_presentation_set(begin, end, handler);
7625
354k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
354k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
354k
                return begin;
7630
354k
            }
7631
354k
            handler.on_character_set_string(set);
7632
354k
            return begin;
7633
354k
        }
7634
354k
        if (*begin == CharT{'/'}) {
7635
354k
            return parse_presentation_regex(begin, end, handler);
7636
354k
        }
7637
354k
        presentation_type type = parse_presentation_type(*begin++);
7638
354k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
354k
            handler.on_error("Invalid type specifier in format string");
7640
354k
            return begin;
7641
354k
        }
7642
354k
        handler.on_type(type);
7643
354k
        return begin;
7644
354k
    };
7645
7646
354k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7647
354k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7648
265k
        return do_presentation();
7649
265k
    }
7650
7651
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7652
0
        handler.on_error("Unexpected end of format string");
7653
0
        return begin;
7654
0
    }
7655
7656
89.1k
    begin = parse_align(begin, end, handler);
7657
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7658
0
        handler.on_error("Unexpected end of format string");
7659
0
        return begin;
7660
0
    }
7661
7662
89.1k
    begin = parse_width(begin, end, handler);
7663
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7664
0
        handler.on_error("Unexpected end of format string");
7665
0
        return begin;
7666
0
    }
7667
7668
89.1k
    if (*begin == CharT{'.'}) {
7669
0
        ++begin;
7670
0
        if (SCN_UNLIKELY(begin == end)) {
7671
0
            handler.on_error("Unexpected end of format string");
7672
0
            return begin;
7673
0
        }
7674
0
        begin = parse_precision(begin, end, handler);
7675
0
        if (SCN_UNLIKELY(begin == end)) {
7676
0
            handler.on_error("Unexpected end of format string");
7677
0
            return begin;
7678
0
        }
7679
0
    }
7680
7681
89.1k
    if (*begin == CharT{'L'}) {
7682
64.4k
        handler.on_localized();
7683
64.4k
        ++begin;
7684
64.4k
    }
7685
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7686
0
        handler.on_error("Unexpected end of format string");
7687
0
        return begin;
7688
0
    }
7689
7690
89.1k
    if (begin != end && *begin != CharT{'}'}) {
7691
24.7k
        do_presentation();
7692
24.7k
    }
7693
89.1k
    if (SCN_UNLIKELY(begin == end)) {
7694
0
        handler.on_error("Unexpected end of format string");
7695
0
        return begin;
7696
0
    }
7697
7698
89.1k
    return begin;
7699
89.1k
}
impl.cpp:char const* scn::v4::detail::parse_format_specs<char, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&>(char const*, char const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >&)
Line
Count
Source
7621
355k
{
7622
355k
    auto do_presentation = [&]() -> const CharT* {
7623
355k
        if (*begin == CharT{'['}) {
7624
355k
            auto set = parse_presentation_set(begin, end, handler);
7625
355k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
355k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
355k
                return begin;
7630
355k
            }
7631
355k
            handler.on_character_set_string(set);
7632
355k
            return begin;
7633
355k
        }
7634
355k
        if (*begin == CharT{'/'}) {
7635
355k
            return parse_presentation_regex(begin, end, handler);
7636
355k
        }
7637
355k
        presentation_type type = parse_presentation_type(*begin++);
7638
355k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
355k
            handler.on_error("Invalid type specifier in format string");
7640
355k
            return begin;
7641
355k
        }
7642
355k
        handler.on_type(type);
7643
355k
        return begin;
7644
355k
    };
7645
7646
355k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7647
355k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7648
266k
        return do_presentation();
7649
266k
    }
7650
7651
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7652
0
        handler.on_error("Unexpected end of format string");
7653
0
        return begin;
7654
0
    }
7655
7656
89.2k
    begin = parse_align(begin, end, handler);
7657
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7658
0
        handler.on_error("Unexpected end of format string");
7659
0
        return begin;
7660
0
    }
7661
7662
89.2k
    begin = parse_width(begin, end, handler);
7663
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7664
0
        handler.on_error("Unexpected end of format string");
7665
0
        return begin;
7666
0
    }
7667
7668
89.2k
    if (*begin == CharT{'.'}) {
7669
0
        ++begin;
7670
0
        if (SCN_UNLIKELY(begin == end)) {
7671
0
            handler.on_error("Unexpected end of format string");
7672
0
            return begin;
7673
0
        }
7674
0
        begin = parse_precision(begin, end, handler);
7675
0
        if (SCN_UNLIKELY(begin == end)) {
7676
0
            handler.on_error("Unexpected end of format string");
7677
0
            return begin;
7678
0
        }
7679
0
    }
7680
7681
89.2k
    if (*begin == CharT{'L'}) {
7682
64.4k
        handler.on_localized();
7683
64.4k
        ++begin;
7684
64.4k
    }
7685
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7686
0
        handler.on_error("Unexpected end of format string");
7687
0
        return begin;
7688
0
    }
7689
7690
89.2k
    if (begin != end && *begin != CharT{'}'}) {
7691
24.7k
        do_presentation();
7692
24.7k
    }
7693
89.2k
    if (SCN_UNLIKELY(begin == end)) {
7694
0
        handler.on_error("Unexpected end of format string");
7695
0
        return begin;
7696
0
    }
7697
7698
89.2k
    return begin;
7699
89.2k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >&)
Line
Count
Source
7621
159k
{
7622
159k
    auto do_presentation = [&]() -> const CharT* {
7623
159k
        if (*begin == CharT{'['}) {
7624
159k
            auto set = parse_presentation_set(begin, end, handler);
7625
159k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
159k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
159k
                return begin;
7630
159k
            }
7631
159k
            handler.on_character_set_string(set);
7632
159k
            return begin;
7633
159k
        }
7634
159k
        if (*begin == CharT{'/'}) {
7635
159k
            return parse_presentation_regex(begin, end, handler);
7636
159k
        }
7637
159k
        presentation_type type = parse_presentation_type(*begin++);
7638
159k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
159k
            handler.on_error("Invalid type specifier in format string");
7640
159k
            return begin;
7641
159k
        }
7642
159k
        handler.on_type(type);
7643
159k
        return begin;
7644
159k
    };
7645
7646
159k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7647
159k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7648
84.4k
        return do_presentation();
7649
84.4k
    }
7650
7651
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7652
0
        handler.on_error("Unexpected end of format string");
7653
0
        return begin;
7654
0
    }
7655
7656
74.7k
    begin = parse_align(begin, end, handler);
7657
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7658
0
        handler.on_error("Unexpected end of format string");
7659
0
        return begin;
7660
0
    }
7661
7662
74.7k
    begin = parse_width(begin, end, handler);
7663
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7664
0
        handler.on_error("Unexpected end of format string");
7665
0
        return begin;
7666
0
    }
7667
7668
74.7k
    if (*begin == CharT{'.'}) {
7669
0
        ++begin;
7670
0
        if (SCN_UNLIKELY(begin == end)) {
7671
0
            handler.on_error("Unexpected end of format string");
7672
0
            return begin;
7673
0
        }
7674
0
        begin = parse_precision(begin, end, handler);
7675
0
        if (SCN_UNLIKELY(begin == end)) {
7676
0
            handler.on_error("Unexpected end of format string");
7677
0
            return begin;
7678
0
        }
7679
0
    }
7680
7681
74.7k
    if (*begin == CharT{'L'}) {
7682
25.2k
        handler.on_localized();
7683
25.2k
        ++begin;
7684
25.2k
    }
7685
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7686
0
        handler.on_error("Unexpected end of format string");
7687
0
        return begin;
7688
0
    }
7689
7690
74.7k
    if (begin != end && *begin != CharT{'}'}) {
7691
49.5k
        do_presentation();
7692
49.5k
    }
7693
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7694
0
        handler.on_error("Unexpected end of format string");
7695
0
        return begin;
7696
0
    }
7697
7698
74.7k
    return begin;
7699
74.7k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_format_specs<wchar_t, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >&)
Line
Count
Source
7621
159k
{
7622
159k
    auto do_presentation = [&]() -> const CharT* {
7623
159k
        if (*begin == CharT{'['}) {
7624
159k
            auto set = parse_presentation_set(begin, end, handler);
7625
159k
            if (SCN_UNLIKELY(set.size() <= 2)) {
7626
                // clang-format off
7627
159k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
7628
                // clang-format on
7629
159k
                return begin;
7630
159k
            }
7631
159k
            handler.on_character_set_string(set);
7632
159k
            return begin;
7633
159k
        }
7634
159k
        if (*begin == CharT{'/'}) {
7635
159k
            return parse_presentation_regex(begin, end, handler);
7636
159k
        }
7637
159k
        presentation_type type = parse_presentation_type(*begin++);
7638
159k
        if (SCN_UNLIKELY(type == presentation_type::none)) {
7639
159k
            handler.on_error("Invalid type specifier in format string");
7640
159k
            return begin;
7641
159k
        }
7642
159k
        handler.on_type(type);
7643
159k
        return begin;
7644
159k
    };
7645
7646
159k
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
7647
159k
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
7648
84.4k
        return do_presentation();
7649
84.4k
    }
7650
7651
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7652
0
        handler.on_error("Unexpected end of format string");
7653
0
        return begin;
7654
0
    }
7655
7656
74.7k
    begin = parse_align(begin, end, handler);
7657
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7658
0
        handler.on_error("Unexpected end of format string");
7659
0
        return begin;
7660
0
    }
7661
7662
74.7k
    begin = parse_width(begin, end, handler);
7663
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7664
0
        handler.on_error("Unexpected end of format string");
7665
0
        return begin;
7666
0
    }
7667
7668
74.7k
    if (*begin == CharT{'.'}) {
7669
0
        ++begin;
7670
0
        if (SCN_UNLIKELY(begin == end)) {
7671
0
            handler.on_error("Unexpected end of format string");
7672
0
            return begin;
7673
0
        }
7674
0
        begin = parse_precision(begin, end, handler);
7675
0
        if (SCN_UNLIKELY(begin == end)) {
7676
0
            handler.on_error("Unexpected end of format string");
7677
0
            return begin;
7678
0
        }
7679
0
    }
7680
7681
74.7k
    if (*begin == CharT{'L'}) {
7682
25.2k
        handler.on_localized();
7683
25.2k
        ++begin;
7684
25.2k
    }
7685
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7686
0
        handler.on_error("Unexpected end of format string");
7687
0
        return begin;
7688
0
    }
7689
7690
74.7k
    if (begin != end && *begin != CharT{'}'}) {
7691
49.5k
        do_presentation();
7692
49.5k
    }
7693
74.7k
    if (SCN_UNLIKELY(begin == end)) {
7694
0
        handler.on_error("Unexpected end of format string");
7695
0
        return begin;
7696
0
    }
7697
7698
74.7k
    return begin;
7699
74.7k
}
7700
7701
template <typename CharT, typename Handler>
7702
constexpr const CharT* parse_replacement_field(const CharT* begin,
7703
                                               const CharT* end,
7704
                                               Handler& handler)
7705
1.02M
{
7706
1.02M
    struct id_adapter {
7707
1.02M
        constexpr void operator()()
7708
1.02M
        {
7709
1.02M
            arg_id = handler.on_arg_id();
7710
1.02M
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
7708
354k
        {
7709
354k
            arg_id = handler.on_arg_id();
7710
354k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
7708
355k
        {
7709
355k
            arg_id = handler.on_arg_id();
7710
355k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7708
159k
        {
7709
159k
            arg_id = handler.on_arg_id();
7710
159k
        }
impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
7708
159k
        {
7709
159k
            arg_id = handler.on_arg_id();
7710
159k
        }
7711
1.02M
        constexpr void operator()(std::size_t id)
7712
1.02M
        {
7713
0
            arg_id = handler.on_arg_id(id);
7714
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
7715
7716
1.02M
        constexpr void on_error(const char* msg)
7717
1.02M
        {
7718
0
            SCN_UNLIKELY_ATTR
7719
0
            handler.on_error(msg);
7720
0
        }
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Unexecuted instantiation: impl.cpp:scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
7721
7722
1.02M
        Handler& handler;
7723
1.02M
        std::size_t arg_id;
7724
1.02M
    };
7725
7726
1.02M
    ++begin;
7727
1.02M
    if (SCN_UNLIKELY(begin == end)) {
7728
0
        handler.on_error("Unexpected end of replacement field");
7729
0
        return begin;
7730
0
    }
7731
7732
1.02M
    if (*begin == CharT{'}'}) {
7733
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7734
0
    }
7735
1.02M
    else if (*begin == CharT{'{'}) {
7736
0
        handler.on_literal_text(begin, begin + 1);
7737
0
    }
7738
1.02M
    else {
7739
1.02M
        auto adapter = id_adapter{handler, 0};
7740
1.02M
        begin = parse_arg_id(begin, end, adapter);
7741
7742
1.02M
        if (SCN_UNLIKELY(begin == end)) {
7743
0
            handler.on_error("Missing '}' in format string");
7744
0
            return begin;
7745
0
        }
7746
7747
1.02M
        if (*begin == CharT{'}'}) {
7748
0
            handler.on_replacement_field(adapter.arg_id, begin);
7749
0
        }
7750
1.02M
        else if (*begin == CharT{':'}) {
7751
1.02M
            if (SCN_UNLIKELY(begin + 1 == end)) {
7752
0
                handler.on_error("Unexpected end of replacement field");
7753
0
                return begin;
7754
0
            }
7755
1.02M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7756
1.02M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7757
148k
                handler.on_error("Unknown format specifier");
7758
148k
                return begin;
7759
148k
            }
7760
1.02M
        }
7761
0
        else {
7762
0
            SCN_UNLIKELY_ATTR
7763
0
            handler.on_error("Missing '}' in format string");
7764
0
            return begin;
7765
0
        }
7766
1.02M
    }
7767
880k
    return begin + 1;
7768
1.02M
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7705
354k
{
7706
354k
    struct id_adapter {
7707
354k
        constexpr void operator()()
7708
354k
        {
7709
354k
            arg_id = handler.on_arg_id();
7710
354k
        }
7711
354k
        constexpr void operator()(std::size_t id)
7712
354k
        {
7713
354k
            arg_id = handler.on_arg_id(id);
7714
354k
        }
7715
7716
354k
        constexpr void on_error(const char* msg)
7717
354k
        {
7718
354k
            SCN_UNLIKELY_ATTR
7719
354k
            handler.on_error(msg);
7720
354k
        }
7721
7722
354k
        Handler& handler;
7723
354k
        std::size_t arg_id;
7724
354k
    };
7725
7726
354k
    ++begin;
7727
354k
    if (SCN_UNLIKELY(begin == end)) {
7728
0
        handler.on_error("Unexpected end of replacement field");
7729
0
        return begin;
7730
0
    }
7731
7732
354k
    if (*begin == CharT{'}'}) {
7733
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7734
0
    }
7735
354k
    else if (*begin == CharT{'{'}) {
7736
0
        handler.on_literal_text(begin, begin + 1);
7737
0
    }
7738
354k
    else {
7739
354k
        auto adapter = id_adapter{handler, 0};
7740
354k
        begin = parse_arg_id(begin, end, adapter);
7741
7742
354k
        if (SCN_UNLIKELY(begin == end)) {
7743
0
            handler.on_error("Missing '}' in format string");
7744
0
            return begin;
7745
0
        }
7746
7747
354k
        if (*begin == CharT{'}'}) {
7748
0
            handler.on_replacement_field(adapter.arg_id, begin);
7749
0
        }
7750
354k
        else if (*begin == CharT{':'}) {
7751
354k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7752
0
                handler.on_error("Unexpected end of replacement field");
7753
0
                return begin;
7754
0
            }
7755
354k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7756
354k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7757
24.7k
                handler.on_error("Unknown format specifier");
7758
24.7k
                return begin;
7759
24.7k
            }
7760
354k
        }
7761
0
        else {
7762
0
            SCN_UNLIKELY_ATTR
7763
0
            handler.on_error("Missing '}' in format string");
7764
0
            return begin;
7765
0
        }
7766
354k
    }
7767
330k
    return begin + 1;
7768
354k
}
impl.cpp:char const* scn::v4::detail::parse_replacement_field<char, scn::v4::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7705
355k
{
7706
355k
    struct id_adapter {
7707
355k
        constexpr void operator()()
7708
355k
        {
7709
355k
            arg_id = handler.on_arg_id();
7710
355k
        }
7711
355k
        constexpr void operator()(std::size_t id)
7712
355k
        {
7713
355k
            arg_id = handler.on_arg_id(id);
7714
355k
        }
7715
7716
355k
        constexpr void on_error(const char* msg)
7717
355k
        {
7718
355k
            SCN_UNLIKELY_ATTR
7719
355k
            handler.on_error(msg);
7720
355k
        }
7721
7722
355k
        Handler& handler;
7723
355k
        std::size_t arg_id;
7724
355k
    };
7725
7726
355k
    ++begin;
7727
355k
    if (SCN_UNLIKELY(begin == end)) {
7728
0
        handler.on_error("Unexpected end of replacement field");
7729
0
        return begin;
7730
0
    }
7731
7732
355k
    if (*begin == CharT{'}'}) {
7733
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7734
0
    }
7735
355k
    else if (*begin == CharT{'{'}) {
7736
0
        handler.on_literal_text(begin, begin + 1);
7737
0
    }
7738
355k
    else {
7739
355k
        auto adapter = id_adapter{handler, 0};
7740
355k
        begin = parse_arg_id(begin, end, adapter);
7741
7742
355k
        if (SCN_UNLIKELY(begin == end)) {
7743
0
            handler.on_error("Missing '}' in format string");
7744
0
            return begin;
7745
0
        }
7746
7747
355k
        if (*begin == CharT{'}'}) {
7748
0
            handler.on_replacement_field(adapter.arg_id, begin);
7749
0
        }
7750
355k
        else if (*begin == CharT{':'}) {
7751
355k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7752
0
                handler.on_error("Unexpected end of replacement field");
7753
0
                return begin;
7754
0
            }
7755
355k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7756
355k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7757
24.7k
                handler.on_error("Unknown format specifier");
7758
24.7k
                return begin;
7759
24.7k
            }
7760
355k
        }
7761
0
        else {
7762
0
            SCN_UNLIKELY_ATTR
7763
0
            handler.on_error("Missing '}' in format string");
7764
0
            return begin;
7765
0
        }
7766
355k
    }
7767
330k
    return begin + 1;
7768
355k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7705
159k
{
7706
159k
    struct id_adapter {
7707
159k
        constexpr void operator()()
7708
159k
        {
7709
159k
            arg_id = handler.on_arg_id();
7710
159k
        }
7711
159k
        constexpr void operator()(std::size_t id)
7712
159k
        {
7713
159k
            arg_id = handler.on_arg_id(id);
7714
159k
        }
7715
7716
159k
        constexpr void on_error(const char* msg)
7717
159k
        {
7718
159k
            SCN_UNLIKELY_ATTR
7719
159k
            handler.on_error(msg);
7720
159k
        }
7721
7722
159k
        Handler& handler;
7723
159k
        std::size_t arg_id;
7724
159k
    };
7725
7726
159k
    ++begin;
7727
159k
    if (SCN_UNLIKELY(begin == end)) {
7728
0
        handler.on_error("Unexpected end of replacement field");
7729
0
        return begin;
7730
0
    }
7731
7732
159k
    if (*begin == CharT{'}'}) {
7733
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7734
0
    }
7735
159k
    else if (*begin == CharT{'{'}) {
7736
0
        handler.on_literal_text(begin, begin + 1);
7737
0
    }
7738
159k
    else {
7739
159k
        auto adapter = id_adapter{handler, 0};
7740
159k
        begin = parse_arg_id(begin, end, adapter);
7741
7742
159k
        if (SCN_UNLIKELY(begin == end)) {
7743
0
            handler.on_error("Missing '}' in format string");
7744
0
            return begin;
7745
0
        }
7746
7747
159k
        if (*begin == CharT{'}'}) {
7748
0
            handler.on_replacement_field(adapter.arg_id, begin);
7749
0
        }
7750
159k
        else if (*begin == CharT{':'}) {
7751
159k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7752
0
                handler.on_error("Unexpected end of replacement field");
7753
0
                return begin;
7754
0
            }
7755
159k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7756
159k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7757
49.5k
                handler.on_error("Unknown format specifier");
7758
49.5k
                return begin;
7759
49.5k
            }
7760
159k
        }
7761
0
        else {
7762
0
            SCN_UNLIKELY_ATTR
7763
0
            handler.on_error("Missing '}' in format string");
7764
0
            return begin;
7765
0
        }
7766
159k
    }
7767
109k
    return begin + 1;
7768
159k
}
impl.cpp:wchar_t const* scn::v4::detail::parse_replacement_field<wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7705
159k
{
7706
159k
    struct id_adapter {
7707
159k
        constexpr void operator()()
7708
159k
        {
7709
159k
            arg_id = handler.on_arg_id();
7710
159k
        }
7711
159k
        constexpr void operator()(std::size_t id)
7712
159k
        {
7713
159k
            arg_id = handler.on_arg_id(id);
7714
159k
        }
7715
7716
159k
        constexpr void on_error(const char* msg)
7717
159k
        {
7718
159k
            SCN_UNLIKELY_ATTR
7719
159k
            handler.on_error(msg);
7720
159k
        }
7721
7722
159k
        Handler& handler;
7723
159k
        std::size_t arg_id;
7724
159k
    };
7725
7726
159k
    ++begin;
7727
159k
    if (SCN_UNLIKELY(begin == end)) {
7728
0
        handler.on_error("Unexpected end of replacement field");
7729
0
        return begin;
7730
0
    }
7731
7732
159k
    if (*begin == CharT{'}'}) {
7733
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
7734
0
    }
7735
159k
    else if (*begin == CharT{'{'}) {
7736
0
        handler.on_literal_text(begin, begin + 1);
7737
0
    }
7738
159k
    else {
7739
159k
        auto adapter = id_adapter{handler, 0};
7740
159k
        begin = parse_arg_id(begin, end, adapter);
7741
7742
159k
        if (SCN_UNLIKELY(begin == end)) {
7743
0
            handler.on_error("Missing '}' in format string");
7744
0
            return begin;
7745
0
        }
7746
7747
159k
        if (*begin == CharT{'}'}) {
7748
0
            handler.on_replacement_field(adapter.arg_id, begin);
7749
0
        }
7750
159k
        else if (*begin == CharT{':'}) {
7751
159k
            if (SCN_UNLIKELY(begin + 1 == end)) {
7752
0
                handler.on_error("Unexpected end of replacement field");
7753
0
                return begin;
7754
0
            }
7755
159k
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
7756
159k
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
7757
49.5k
                handler.on_error("Unknown format specifier");
7758
49.5k
                return begin;
7759
49.5k
            }
7760
159k
        }
7761
0
        else {
7762
0
            SCN_UNLIKELY_ATTR
7763
0
            handler.on_error("Missing '}' in format string");
7764
0
            return begin;
7765
0
        }
7766
159k
    }
7767
109k
    return begin + 1;
7768
159k
}
7769
7770
template <bool IsConstexpr, typename CharT, typename Handler>
7771
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7772
                                        Handler&& handler)
7773
1.02M
{
7774
    // TODO: memchr fast path with a larger (> 32) format string
7775
7776
1.02M
    auto begin = format.data();
7777
1.02M
    auto it = begin;
7778
1.02M
    const auto end = format.data() + format.size();
7779
7780
1.61M
    while (it != end) {
7781
1.02M
        const auto ch = *it++;
7782
1.02M
        if (ch == CharT{'{'}) {
7783
1.02M
            handler.on_literal_text(begin, it - 1);
7784
7785
1.02M
            begin = it = parse_replacement_field(it - 1, end, handler);
7786
1.02M
            if (!handler.get_error()) {
7787
445k
                return;
7788
445k
            }
7789
1.02M
        }
7790
0
        else if (ch == CharT{'}'}) {
7791
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7792
0
                handler.on_error("Unmatched '}' in format string");
7793
0
                return;
7794
0
            }
7795
7796
0
            handler.on_literal_text(begin, it);
7797
0
            begin = ++it;
7798
0
        }
7799
1.02M
    }
7800
7801
582k
    handler.on_literal_text(begin, end);
7802
582k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7773
354k
{
7774
    // TODO: memchr fast path with a larger (> 32) format string
7775
7776
354k
    auto begin = format.data();
7777
354k
    auto it = begin;
7778
354k
    const auto end = format.data() + format.size();
7779
7780
635k
    while (it != end) {
7781
354k
        const auto ch = *it++;
7782
354k
        if (ch == CharT{'{'}) {
7783
354k
            handler.on_literal_text(begin, it - 1);
7784
7785
354k
            begin = it = parse_replacement_field(it - 1, end, handler);
7786
354k
            if (!handler.get_error()) {
7787
74.3k
                return;
7788
74.3k
            }
7789
354k
        }
7790
0
        else if (ch == CharT{'}'}) {
7791
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7792
0
                handler.on_error("Unmatched '}' in format string");
7793
0
                return;
7794
0
            }
7795
7796
0
            handler.on_literal_text(begin, it);
7797
0
            begin = ++it;
7798
0
        }
7799
354k
    }
7800
7801
280k
    handler.on_literal_text(begin, end);
7802
280k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7773
355k
{
7774
    // TODO: memchr fast path with a larger (> 32) format string
7775
7776
355k
    auto begin = format.data();
7777
355k
    auto it = begin;
7778
355k
    const auto end = format.data() + format.size();
7779
7780
636k
    while (it != end) {
7781
355k
        const auto ch = *it++;
7782
355k
        if (ch == CharT{'{'}) {
7783
355k
            handler.on_literal_text(begin, it - 1);
7784
7785
355k
            begin = it = parse_replacement_field(it - 1, end, handler);
7786
355k
            if (!handler.get_error()) {
7787
74.3k
                return;
7788
74.3k
            }
7789
355k
        }
7790
0
        else if (ch == CharT{'}'}) {
7791
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7792
0
                handler.on_error("Unmatched '}' in format string");
7793
0
                return;
7794
0
            }
7795
7796
0
            handler.on_literal_text(begin, it);
7797
0
            begin = ++it;
7798
0
        }
7799
355k
    }
7800
7801
281k
    handler.on_literal_text(begin, end);
7802
281k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7773
159k
{
7774
    // TODO: memchr fast path with a larger (> 32) format string
7775
7776
159k
    auto begin = format.data();
7777
159k
    auto it = begin;
7778
159k
    const auto end = format.data() + format.size();
7779
7780
169k
    while (it != end) {
7781
159k
        const auto ch = *it++;
7782
159k
        if (ch == CharT{'{'}) {
7783
159k
            handler.on_literal_text(begin, it - 1);
7784
7785
159k
            begin = it = parse_replacement_field(it - 1, end, handler);
7786
159k
            if (!handler.get_error()) {
7787
148k
                return;
7788
148k
            }
7789
159k
        }
7790
0
        else if (ch == CharT{'}'}) {
7791
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7792
0
                handler.on_error("Unmatched '}' in format string");
7793
0
                return;
7794
0
            }
7795
7796
0
            handler.on_literal_text(begin, it);
7797
0
            begin = ++it;
7798
0
        }
7799
159k
    }
7800
7801
10.6k
    handler.on_literal_text(begin, end);
7802
10.6k
}
impl.cpp:void scn::v4::detail::parse_format_string_impl<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7773
159k
{
7774
    // TODO: memchr fast path with a larger (> 32) format string
7775
7776
159k
    auto begin = format.data();
7777
159k
    auto it = begin;
7778
159k
    const auto end = format.data() + format.size();
7779
7780
169k
    while (it != end) {
7781
159k
        const auto ch = *it++;
7782
159k
        if (ch == CharT{'{'}) {
7783
159k
            handler.on_literal_text(begin, it - 1);
7784
7785
159k
            begin = it = parse_replacement_field(it - 1, end, handler);
7786
159k
            if (!handler.get_error()) {
7787
148k
                return;
7788
148k
            }
7789
159k
        }
7790
0
        else if (ch == CharT{'}'}) {
7791
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7792
0
                handler.on_error("Unmatched '}' in format string");
7793
0
                return;
7794
0
            }
7795
7796
0
            handler.on_literal_text(begin, it);
7797
0
            begin = ++it;
7798
0
        }
7799
159k
    }
7800
7801
10.6k
    handler.on_literal_text(begin, end);
7802
10.6k
}
7803
7804
template <bool IsConstexpr, typename CharT, typename Handler>
7805
constexpr scan_expected<void> parse_format_string(
7806
    std::basic_string_view<CharT> format,
7807
    Handler&& handler)
7808
1.02M
{
7809
1.02M
    parse_format_string_impl<IsConstexpr>(format, handler);
7810
1.02M
    handler.check_args_exhausted();
7811
1.02M
    return handler.get_error();
7812
1.02M
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7808
354k
{
7809
354k
    parse_format_string_impl<IsConstexpr>(format, handler);
7810
354k
    handler.check_args_exhausted();
7811
354k
    return handler.get_error();
7812
354k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, char, scn::v4::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v4::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7808
355k
{
7809
355k
    parse_format_string_impl<IsConstexpr>(format, handler);
7810
355k
    handler.check_args_exhausted();
7811
355k
    return handler.get_error();
7812
355k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7808
159k
{
7809
159k
    parse_format_string_impl<IsConstexpr>(format, handler);
7810
159k
    handler.check_args_exhausted();
7811
159k
    return handler.get_error();
7812
159k
}
impl.cpp:scn::v4::scan_expected<void> scn::v4::detail::parse_format_string<false, wchar_t, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v4::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7808
159k
{
7809
159k
    parse_format_string_impl<IsConstexpr>(format, handler);
7810
159k
    handler.check_args_exhausted();
7811
159k
    return handler.get_error();
7812
159k
}
7813
7814
enum class arg_type_category {
7815
    none,
7816
    integer,
7817
    unsigned_integer,
7818
    floating,
7819
    string,
7820
    pointer,
7821
    boolean,
7822
    character,
7823
    custom
7824
};
7825
7826
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7827
179k
{
7828
179k
    switch (type) {
7829
0
        case arg_type::none_type:
7830
0
            return arg_type_category::none;
7831
7832
29.8k
        case arg_type::schar_type:
7833
29.8k
        case arg_type::short_type:
7834
63.0k
        case arg_type::int_type:
7835
63.0k
        case arg_type::long_type:
7836
96.8k
        case arg_type::llong_type:
7837
96.8k
        case arg_type::int128_type:
7838
96.8k
            return arg_type_category::integer;
7839
7840
26.2k
        case arg_type::uchar_type:
7841
26.2k
        case arg_type::ushort_type:
7842
54.2k
        case arg_type::uint_type:
7843
54.2k
        case arg_type::ulong_type:
7844
82.5k
        case arg_type::ullong_type:
7845
82.5k
        case arg_type::uint128_type:
7846
82.5k
            return arg_type_category::unsigned_integer;
7847
7848
0
        case arg_type::pointer_type:
7849
0
            return arg_type_category::pointer;
7850
0
        case arg_type::bool_type:
7851
0
            return arg_type_category::boolean;
7852
0
        case arg_type::narrow_character_type:
7853
0
        case arg_type::wide_character_type:
7854
0
        case arg_type::code_point_type:
7855
0
            return arg_type_category::character;
7856
7857
0
        case arg_type::float_type:
7858
0
        case arg_type::double_type:
7859
0
        case arg_type::ldouble_type:
7860
0
            return arg_type_category::floating;
7861
7862
0
        case arg_type::narrow_string_view_type:
7863
0
        case arg_type::narrow_string_type:
7864
0
        case arg_type::wide_string_view_type:
7865
0
        case arg_type::wide_string_type:
7866
0
            return arg_type_category::string;
7867
7868
0
        case arg_type::custom_type:
7869
0
            return arg_type_category::custom;
7870
7871
0
            SCN_CLANG_PUSH
7872
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7873
0
        default:
7874
0
            SCN_ENSURE(false);
7875
179k
            SCN_UNREACHABLE;
7876
179k
            SCN_CLANG_POP
7877
179k
    }
7878
7879
179k
    SCN_UNREACHABLE;
7880
179k
}
7881
7882
template <typename Handler>
7883
class specs_checker : public Handler {
7884
public:
7885
    template <typename H>
7886
    constexpr specs_checker(H&& handler, arg_type type)
7887
1.02M
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7888
1.02M
    {
7889
1.02M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7890
1.02M
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7887
354k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7888
354k
    {
7889
354k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7890
354k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7887
355k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7888
355k
    {
7889
355k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7890
355k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7887
159k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7888
159k
    {
7889
159k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7890
159k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::detail::arg_type)
Line
Count
Source
7887
159k
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7888
159k
    {
7889
159k
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7890
159k
    }
7891
7892
    constexpr void on_localized()
7893
179k
    {
7894
179k
        const auto cat = get_category_for_arg_type(m_arg_type);
7895
179k
        if (cat != arg_type_category::integer &&
7896
179k
            cat != arg_type_category::unsigned_integer &&
7897
179k
            cat != arg_type_category::floating &&
7898
179k
            cat != arg_type_category::boolean) {
7899
0
            SCN_UNLIKELY_ATTR
7900
            // clang-format off
7901
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7902
            // clang-format on
7903
0
        }
7904
7905
179k
        Handler::on_localized();
7906
179k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >::on_localized()
Line
Count
Source
7893
64.4k
    {
7894
64.4k
        const auto cat = get_category_for_arg_type(m_arg_type);
7895
64.4k
        if (cat != arg_type_category::integer &&
7896
64.4k
            cat != arg_type_category::unsigned_integer &&
7897
64.4k
            cat != arg_type_category::floating &&
7898
64.4k
            cat != arg_type_category::boolean) {
7899
0
            SCN_UNLIKELY_ATTR
7900
            // clang-format off
7901
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7902
            // clang-format on
7903
0
        }
7904
7905
64.4k
        Handler::on_localized();
7906
64.4k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::on_localized()
Line
Count
Source
7893
64.4k
    {
7894
64.4k
        const auto cat = get_category_for_arg_type(m_arg_type);
7895
64.4k
        if (cat != arg_type_category::integer &&
7896
64.4k
            cat != arg_type_category::unsigned_integer &&
7897
64.4k
            cat != arg_type_category::floating &&
7898
64.4k
            cat != arg_type_category::boolean) {
7899
0
            SCN_UNLIKELY_ATTR
7900
            // clang-format off
7901
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7902
            // clang-format on
7903
0
        }
7904
7905
64.4k
        Handler::on_localized();
7906
64.4k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >::on_localized()
Line
Count
Source
7893
25.2k
    {
7894
25.2k
        const auto cat = get_category_for_arg_type(m_arg_type);
7895
25.2k
        if (cat != arg_type_category::integer &&
7896
25.2k
            cat != arg_type_category::unsigned_integer &&
7897
25.2k
            cat != arg_type_category::floating &&
7898
25.2k
            cat != arg_type_category::boolean) {
7899
0
            SCN_UNLIKELY_ATTR
7900
            // clang-format off
7901
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7902
            // clang-format on
7903
0
        }
7904
7905
25.2k
        Handler::on_localized();
7906
25.2k
    }
impl.cpp:scn::v4::detail::specs_checker<scn::v4::(anonymous namespace)::specs_handler<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::on_localized()
Line
Count
Source
7893
25.2k
    {
7894
25.2k
        const auto cat = get_category_for_arg_type(m_arg_type);
7895
25.2k
        if (cat != arg_type_category::integer &&
7896
25.2k
            cat != arg_type_category::unsigned_integer &&
7897
25.2k
            cat != arg_type_category::floating &&
7898
25.2k
            cat != arg_type_category::boolean) {
7899
0
            SCN_UNLIKELY_ATTR
7900
            // clang-format off
7901
0
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7902
            // clang-format on
7903
0
        }
7904
7905
25.2k
        Handler::on_localized();
7906
25.2k
    }
7907
7908
private:
7909
    arg_type m_arg_type;
7910
};
7911
7912
template <typename Handler>
7913
constexpr void check_int_type_specs(const format_specs& specs,
7914
                                    Handler&& handler)
7915
880k
{
7916
880k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7917
0
        return handler.on_error("Invalid type specifier for integer type");
7918
0
    }
7919
880k
    if (specs.localized) {
7920
179k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7921
            // clang-format off
7922
0
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7923
            // clang-format on
7924
0
            return;
7925
0
        }
7926
179k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7927
            // clang-format off
7928
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7929
            // clang-format on
7930
0
        }
7931
179k
    }
7932
880k
}
Unexecuted instantiation: void scn::v4::detail::check_int_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
void scn::v4::detail::check_int_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
Line
Count
Source
7915
880k
{
7916
880k
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7917
0
        return handler.on_error("Invalid type specifier for integer type");
7918
0
    }
7919
880k
    if (specs.localized) {
7920
179k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7921
            // clang-format off
7922
0
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7923
            // clang-format on
7924
0
            return;
7925
0
        }
7926
179k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7927
            // clang-format off
7928
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7929
            // clang-format on
7930
0
        }
7931
179k
    }
7932
880k
}
7933
7934
template <typename Handler>
7935
constexpr void check_char_type_specs(const format_specs& specs,
7936
                                     Handler&& handler)
7937
0
{
7938
0
    if (specs.type > presentation_type::int_hex ||
7939
0
        specs.type == presentation_type::int_arbitrary_base) {
7940
0
        SCN_UNLIKELY_ATTR
7941
0
        return handler.on_error("Invalid type specifier for character type");
7942
0
    }
7943
0
}
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_char_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
7944
7945
template <typename Handler>
7946
constexpr void check_code_point_type_specs(const format_specs& specs,
7947
                                           Handler&& handler)
7948
0
{
7949
0
    if (specs.type != presentation_type::none &&
7950
0
        specs.type != presentation_type::character) {
7951
0
        SCN_UNLIKELY_ATTR
7952
0
        return handler.on_error("Invalid type specifier for code point type");
7953
0
    }
7954
0
}
7955
7956
template <typename Handler>
7957
constexpr void check_float_type_specs(const format_specs& specs,
7958
                                      Handler&& handler)
7959
0
{
7960
0
    if (specs.type != presentation_type::none &&
7961
0
        (specs.type < presentation_type::float_hex ||
7962
0
         specs.type > presentation_type::float_general)) {
7963
0
        SCN_UNLIKELY_ATTR
7964
0
        return handler.on_error("Invalid type specifier for float type");
7965
0
    }
7966
0
}
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_float_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
7967
7968
template <typename Handler>
7969
constexpr void check_string_type_specs(const format_specs& specs,
7970
                                       Handler&& handler)
7971
0
{
7972
0
    if (specs.type == presentation_type::none ||
7973
0
        specs.type == presentation_type::string ||
7974
0
        specs.type == presentation_type::string_set ||
7975
0
        specs.type == presentation_type::regex ||
7976
0
        specs.type == presentation_type::regex_escaped) {
7977
0
        return;
7978
0
    }
7979
0
    if (specs.type == presentation_type::character) {
7980
0
        if (SCN_UNLIKELY(specs.precision == 0)) {
7981
            // clang-format off
7982
0
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7983
            // clang-format on
7984
0
        }
7985
0
        return;
7986
0
    }
7987
0
    SCN_UNLIKELY_ATTR
7988
0
    handler.on_error("Invalid type specifier for string");
7989
0
}
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_string_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
7990
7991
template <typename Handler>
7992
constexpr void check_pointer_type_specs(const format_specs& specs,
7993
                                        Handler&& handler)
7994
0
{
7995
0
    if (specs.type != presentation_type::none &&
7996
0
        specs.type != presentation_type::pointer) {
7997
0
        SCN_UNLIKELY_ATTR
7998
0
        return handler.on_error("Invalid type specifier for pointer");
7999
0
    }
8000
0
}
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_pointer_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8001
8002
template <typename Handler>
8003
constexpr void check_bool_type_specs(const format_specs& specs,
8004
                                     Handler&& handler)
8005
0
{
8006
0
    if (specs.type != presentation_type::none &&
8007
0
        specs.type != presentation_type::string &&
8008
0
        specs.type != presentation_type::int_generic &&
8009
0
        specs.type != presentation_type::int_hex &&
8010
0
        specs.type != presentation_type::int_binary &&
8011
0
        specs.type != presentation_type::int_unsigned_decimal &&
8012
0
        specs.type != presentation_type::int_octal &&
8013
0
        specs.type != presentation_type::int_decimal) {
8014
0
        SCN_UNLIKELY_ATTR
8015
0
        return handler.on_error("Invalid type specifier for boolean");
8016
0
    }
8017
0
}
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_bool_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8018
8019
template <typename Handler>
8020
constexpr void check_regex_type_specs(const format_specs& specs,
8021
                                      Handler&& handler)
8022
0
{
8023
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
8024
0
                     specs.charset_string_size == 0)) {
8025
        // clang-format off
8026
0
        return handler.on_error("Regular expression needs to specified when reading regex_matches");
8027
        // clang-format on
8028
0
    }
8029
0
    if (specs.type == presentation_type::regex ||
8030
0
        specs.type == presentation_type::regex_escaped) {
8031
0
        return;
8032
0
    }
8033
0
    SCN_UNLIKELY_ATTR
8034
0
    handler.on_error("Invalid type specifier for regex_matches");
8035
0
}
Unexecuted instantiation: void scn::v4::detail::check_regex_type_specs<scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&>(scn::v4::detail::format_specs const&, scn::v4::detail::specs_checker<scn::v4::detail::specs_setter>&)
Unexecuted instantiation: void scn::v4::detail::check_regex_type_specs<scn::v4::impl::reader_error_handler&>(scn::v4::detail::format_specs const&, scn::v4::impl::reader_error_handler&)
8036
}  // namespace detail
8037
8038
/**
8039
 * \defgroup format-string Format strings
8040
 *
8041
 * \brief Format string description
8042
 *
8043
 * The format string syntax is heavily influenced by {fmt} and
8044
 * `std::format`, and is largely compatible with it. Scanning functions,
8045
 * such as `scn::scan` and
8046
 * `scn::input`, use the format string syntax described in this section.
8047
 *
8048
 * Format strings consist of:
8049
 *
8050
 *  * Replacement fields, which are surrounded by curly braces `{}`.
8051
 *
8052
 *  * Non-whitespace characters (except `{}`; for literal braces, use
8053
 *    `{{` and `}}`), which consume exactly one identical character from the
8054
 *    input
8055
 *
8056
 *  * Whitespace characters, which consume any and all available consecutive
8057
 *    whitespace from the input.
8058
 *
8059
 * Literal characters are matched by code point one-to-one, with no
8060
 * normalization being done.
8061
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
8062
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
8063
 *
8064
 * Characters (code points) are considered to be whitespace characters by
8065
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
8066
 * These code points are:
8067
 *
8068
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
8069
 *  * U+0085 (next line)
8070
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
8071
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
8072
 *
8073
 * The grammar for a replacement field is as follows:
8074
 *
8075
 * \code
8076
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
8077
 * arg-id              ::= positive-integer
8078
 *
8079
 * format-spec         ::= [fill-and-align]
8080
 *                         [width] [precision]
8081
 *                         ['L'] [type]
8082
 * fill-and-align      ::= [fill] align
8083
 * fill                ::= any character other than
8084
 *                         '{' or '}'
8085
 * align               ::= one of '<' '>' '^'
8086
 * width               ::= positive-integer
8087
 * precision           ::= '.' nonnegative-integer
8088
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
8089
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
8090
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
8091
 * \endcode
8092
 *
8093
 * \section arg-ids Argument IDs
8094
 *
8095
 * The `arg-id` specifier can be used to index arguments manually.
8096
 * If manual indexing is used, all of the indices in a format string must be
8097
 * stated explicitly. The same `arg-id` can appear in the format string
8098
 * only once, and must refer to a valid argument.
8099
 *
8100
 * \code{.cpp}
8101
 * // Format string equivalent to "{0} to {1}"
8102
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
8103
 * // a->values() == (2, 300)
8104
 *
8105
 * // Manual indexing
8106
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
8107
 * // b->values() == (300, 2)
8108
 *
8109
 * // INVALID:
8110
 * // Automatic and manual indexing is mixed
8111
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
8112
 *
8113
 * // INVALID:
8114
 * // Same argument is referred to multiple times
8115
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
8116
 *
8117
 * // INVALID:
8118
 * // {2} does not refer to an argument
8119
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
8120
 * \endcode
8121
 *
8122
 * \section fill-and-align Fill and align
8123
 *
8124
 * Alignment allows for skipping character before and/or after a value.
8125
 * There are three possible values for alignment:
8126
 *
8127
 * <table>
8128
 * <caption id="align-table">
8129
 * Alignment options
8130
 * </caption>
8131
 *
8132
 * <tr><th>Option</th> <th>Meaning</th></tr>
8133
 *
8134
 * <tr>
8135
 * <td>`<`</td>
8136
 * <td>
8137
 * Align the value to the left (skips fill characters after the value)
8138
 * </td>
8139
 * </tr>
8140
 *
8141
 * <tr>
8142
 * <td>`>`</td>
8143
 * <td>
8144
 * Align the value to the right (skips fill characters before the value)
8145
 * </td>
8146
 * </tr>
8147
 *
8148
 * <tr>
8149
 * <td>`^`</td>
8150
 * <td>
8151
 * Align the value to the center
8152
 * (skips fill characters both before and after the value)
8153
 * </td>
8154
 * </tr>
8155
 * </table>
8156
 *
8157
 * The fill character can be any Unicode code point, except for `{` and `}`.
8158
 * The default fill is the space character `' '`.
8159
 *
8160
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
8161
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
8162
 * the default alignment is `>`.
8163
 * Otherwise, the default alignment is `<`.
8164
 *
8165
 * In addition to the skipping of fill characters,
8166
 * for format type specifiers with the `>` default alignment,
8167
 * preceding whitespace is automatically skipped.
8168
 * This preceding whitespace isn't counted as part of the field width,
8169
 * as described below.
8170
 *
8171
 * The number of fill characters consumed can be controlled with the width and
8172
 * precision specifiers.
8173
 *
8174
 * \section width Width
8175
 *
8176
 * Width specifies the minimum number of characters that will be read from
8177
 * the source range. It can be any unsigned integer. Any fill characters skipped
8178
 * are included in the width
8179
 *
8180
 * For the purposes of width calculation, the same algorithm is used that in
8181
 * {fmt}. Every code point has a width of one, except the following ones
8182
 * have a width of 2:
8183
 *
8184
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
8185
 *   Derived Extracted Property as described by UAX#44
8186
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
8187
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
8188
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
8189
 *
8190
 * \section precision Precision
8191
 *
8192
 * Precision specifies the maximum number of characters that will be read from
8193
 * the source range. The method for counting characters is the same as above,
8194
 * with the width field.
8195
 *
8196
 * \section localized Localized
8197
 *
8198
 * The `L` flag enables localized scanning.
8199
 * Its effects are different for each type it is used with:
8200
 *
8201
 *  * For integers, it enables locale-specific thousands separators
8202
 *  * For floating-point numbers, it enables locale-specific thousands and
8203
 *    radix (decimal) separators
8204
 *  * For booleans, it enables locale-specific textual representations (for
8205
 *    `true` and `false`)
8206
 *  * For other types, it has no effect
8207
 *
8208
 * \section type Type specifier
8209
 *
8210
 * The type specifier determines how the data is to be scanned.
8211
 * The type of the argument to be scanned determines what flags are valid.
8212
 *
8213
 * \subsection type-string Type specifier: strings
8214
 *
8215
 * <table>
8216
 * <caption id="type-string-table">
8217
 * String types (`std::basic_string` and `std::basic_string_view`)
8218
 * </caption>
8219
 * <tr><th>Type</th> <th>Meaning</th></tr>
8220
 * <tr>
8221
 * <td>none, `s`</td>
8222
 * <td>
8223
 * Copies from the input until a whitespace character is encountered, or,
8224
 * if using the `<` (left) or `^` (center) alignment,
8225
 * a fill character is encountered.
8226
 * </td>
8227
 * </tr>
8228
 * <tr>
8229
 * <td>`c`</td>
8230
 * <td>
8231
 * Copies from the input until the field width is exhausted.
8232
 * Doesn't skip preceding whitespace.
8233
 * Errors if no field precision is provided.
8234
 * </td>
8235
 * </tr>
8236
 * <tr>
8237
 * <td>`[...]`</td>
8238
 * <td>
8239
 * Character set matching: copies from the input until a character not specified
8240
 * in the set is encountered. Character ranges can be specified with `-`, and
8241
 * the entire selection can be inverted with a prefix `^`. Matches and supports
8242
 * arbitrary Unicode code points.
8243
 * Doesn't skip preceding whitespace.
8244
 * </td>
8245
 * </tr>
8246
 * <tr>
8247
 * <td>`/<regex>/<flags>`</td>
8248
 * <td>
8249
 * Regular expression matching: copies from the input until the input does not
8250
 * match the regex.
8251
 * Doesn't skip preceding whitespace.
8252
 * \see regex
8253
 * </td>
8254
 * </tr>
8255
 * </table>
8256
 *
8257
 * \note `std::basic_string_view` can only be scanned if the source is
8258
 * contiguous.
8259
 *
8260
 * \subsection type-int Type specifier: integers
8261
 *
8262
 * Integer values are scanned as if by using `std::from_chars`,
8263
 * except a positive `+` sign and a base prefix (like `0x`) are always
8264
 * allowed to be present.
8265
 *
8266
 * <table>
8267
 * <caption id="type-int-table">
8268
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
8269
 * `int`, `long`, and `long long`)
8270
 * </caption>
8271
 * <tr><th>Type</th> <th>Meaning</th></tr>
8272
 * <tr>
8273
 * <td>`b`, `B`</td>
8274
 * <td>
8275
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
8276
 * </td>
8277
 * </tr>
8278
 * <tr>
8279
 * <td>`o`, `O`</td>
8280
 * <td>
8281
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
8282
 * `0`.
8283
 * </td>
8284
 * </tr>
8285
 * <tr>
8286
 * <td>`x`, `X`</td>
8287
 * <td>
8288
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
8289
 * </td>
8290
 * </tr>
8291
 * <tr>
8292
 * <td>`d`</td>
8293
 * <td>
8294
 * `std::from_chars` with base `10`. No base prefix allowed.
8295
 * </td>
8296
 * </tr>
8297
 * <tr>
8298
 * <td>`u`</td>
8299
 * <td>
8300
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
8301
 * </td>
8302
 * </tr>
8303
 * <tr>
8304
 * <td>`i`</td>
8305
 * <td>
8306
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
8307
 * </td>
8308
 * </tr>
8309
 * <tr>
8310
 * <td>`rXX` (where XX = [2, 36])</td>
8311
 * <td>
8312
 * Custom base, without a base prefix (r stands for radix).
8313
 * </td>
8314
 * </tr>
8315
 * <tr>
8316
 * <td>`c`</td>
8317
 * <td>
8318
 * Copies a character (code unit) from the input.
8319
 * </td>
8320
 * </tr>
8321
 * <tr>
8322
 * <td>none</td>
8323
 * <td>
8324
 * Same as `d`.
8325
 * </td>
8326
 * </tr>
8327
 * </table>
8328
 *
8329
 * \subsection type-char Type specifier: characters
8330
 *
8331
 * <table>
8332
 * <caption id="type-char-table">
8333
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
8334
 * </caption>
8335
 * <tr><th>Type</th> <th>Meaning</th></tr>
8336
 * <tr>
8337
 * <td>none, `c`</td>
8338
 * <td>
8339
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
8340
 * input.
8341
 * </td>
8342
 * </tr>
8343
 * <tr>
8344
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8345
 * <td>
8346
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
8347
 * </td>
8348
 * </tr>
8349
 * </table>
8350
 *
8351
 * \note When scanning characters (`char` and `wchar_t`), the source range is
8352
 * read a single code unit at a time, and encoding is not respected.
8353
 *
8354
 * \subsection type-float Type specifier: floating-point values
8355
 *
8356
 * Floating-point values are scanned as if by using `std::from_chars`,
8357
 * except a positive `+` sign and a base prefix (like `0x`) are always
8358
 * allowed to be present.
8359
 *
8360
 * <table>
8361
 * <caption id="type-float-table">
8362
 * Floating-point types (`float`, `double`, and `long double`)
8363
 * </caption>
8364
 * <tr><th>Type</th> <th>Meaning</th></tr>
8365
 * <tr>
8366
 * <td>`a`, `A`</td>
8367
 * <td>
8368
 * `std::from_chars` with `std::chars_format::hex`.
8369
 * Prefix `0x`/`0X` is allowed.
8370
 * </td>
8371
 * </tr>
8372
 * <tr>
8373
 * <td>`e`, `E`</td>
8374
 * <td>
8375
 * `std::from_chars` with `std::chars_format::scientific`.
8376
 * </td>
8377
 * </tr>
8378
 * <tr>
8379
 * <td>`f`, `F`</td>
8380
 * <td>
8381
 * `std::from_chars` with `std::chars_format::fixed`.
8382
 * </td>
8383
 * </tr>
8384
 * <tr>
8385
 * <td>`g`, `G`</td>
8386
 * <td>
8387
 * `std::from_chars` with `std::chars_format::general`.
8388
 * </td>
8389
 * </tr>
8390
 * <tr>
8391
 * <td>none</td>
8392
 * <td>
8393
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
8394
 * Prefix `0x`/`0X` is allowed.
8395
 * </td>
8396
 * </tr>
8397
 * </table>
8398
 *
8399
 * \subsection type-bool Type specifier: booleans
8400
 *
8401
 * <table>
8402
 * <caption id="type-bool-table">
8403
 * `bool`
8404
 * </caption>
8405
 * <tr><th>Type</th> <th>Meaning</th></tr>
8406
 * <tr>
8407
 * <td>`s`</td>
8408
 * <td>
8409
 * Allows for the textual representation (`true` or `false`).
8410
 * </td>
8411
 * </tr>
8412
 * <tr>
8413
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
8414
 * <td>
8415
 * Allows for the integral/numeric representation (`0` or `1`).
8416
 * </td>
8417
 * </tr>
8418
 * <tr>
8419
 * <td>none</td>
8420
 * <td>
8421
 * Allows for both the textual and the integral/numeric representation.
8422
 * </td>
8423
 * </tr>
8424
 * </table>
8425
 */
8426
8427
namespace detail {
8428
/**
8429
 * A runtime format string
8430
 *
8431
 * \ingroup format-string
8432
 */
8433
template <typename CharT>
8434
struct basic_runtime_format_string {
8435
1.18M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
8435
836k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v4::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
8435
352k
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
8436
8437
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
8438
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
8439
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
8440
        delete;
8441
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
8442
        delete;
8443
    ~basic_runtime_format_string() = default;
8444
8445
    std::basic_string_view<CharT> str;
8446
};
8447
}  // namespace detail
8448
8449
/**
8450
 * Create a runtime format string
8451
 *
8452
 * Can be used to avoid compile-time format string checking
8453
 *
8454
 * \ingroup format-string
8455
 */
8456
inline detail::basic_runtime_format_string<char> runtime_format(
8457
    std::string_view s)
8458
836k
{
8459
836k
    return s;
8460
836k
}
8461
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
8462
    std::wstring_view s)
8463
352k
{
8464
352k
    return s;
8465
352k
}
8466
8467
namespace detail {
8468
struct compile_string {};
8469
8470
template <typename Str>
8471
inline constexpr bool is_compile_string_v =
8472
    std::is_base_of_v<compile_string, Str>;
8473
8474
template <typename Scanner, typename ParseCtx>
8475
using dt_scanner_parse =
8476
    decltype(SCN_DECLVAL(Scanner&).parse(SCN_DECLVAL(ParseCtx&)));
8477
template <typename Scanner, typename T, typename Ctx>
8478
using dt_scanner_scan = decltype(SCN_DECLVAL(const Scanner&)
8479
                                     .scan(SCN_DECLVAL(T&), SCN_DECLVAL(Ctx&)));
8480
8481
template <typename Scanner, typename T, typename Ctx, typename ParseCtx>
8482
constexpr typename ParseCtx::iterator parse_format_specs_impl(
8483
    ParseCtx& parse_ctx)
8484
{
8485
    static_assert(
8486
        std::is_default_constructible_v<Scanner>,
8487
        "Specializations of scn::scanner must be default constructible");
8488
    static_assert(mp_valid<dt_scanner_parse, Scanner, ParseCtx>::value,
8489
                  "Specializations of scn::scanner must have a "
8490
                  "parse(ParseContext&) member function.");
8491
    static_assert(
8492
        std::is_same_v<mp_eval_or<void, dt_scanner_parse, Scanner, ParseCtx>,
8493
                       typename ParseCtx::iterator>,
8494
        "scn::scanner::parse(ParseContext&) must return "
8495
        "ParseContext::iterator. To report an error from scanner::parse, "
8496
        "either throw an exception derived from scn::scan_format_string_error, "
8497
        "or call ParseContext::on_error.");
8498
    static_assert(mp_valid<dt_scanner_scan, Scanner, T, Ctx>::value,
8499
                  "Specializations of scn::scanner must have a "
8500
                  "scan(T&, Context&) const member function.");
8501
    static_assert(
8502
        std::is_same_v<mp_eval_or<void, dt_scanner_scan, Scanner, T, Ctx>,
8503
                       scan_expected<typename Ctx::iterator>>,
8504
        "scn::scanner::scan(T&, Context&) must return "
8505
        "scan_expected<Context::iterator>.");
8506
8507
    auto s = Scanner{};
8508
    return s.parse(parse_ctx);
8509
}
8510
8511
template <typename T, typename Ctx, typename ParseCtx>
8512
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
8513
{
8514
    using char_type = typename Ctx::char_type;
8515
    using map_result =
8516
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
8517
            SCN_DECLVAL(T&)))>;
8518
    if constexpr (std::is_base_of_v<unscannable, map_result>) {
8519
        // Error will be reported by static_assert in make_value(),
8520
        // let's not muddy the compiler error by making more of them.
8521
        return parse_ctx.begin();
8522
    }
8523
    else {
8524
        using mapped_type =
8525
            std::conditional_t<arg_type_constant<T, char_type>::value !=
8526
                                   arg_type::custom_type,
8527
                               map_result, T>;
8528
        using scanner_type = typename Ctx::template scanner_type<mapped_type>;
8529
        return parse_format_specs_impl<scanner_type, T, Ctx, ParseCtx>(
8530
            parse_ctx);
8531
    }
8532
}
8533
8534
template <typename CharT, typename Source, typename... Args>
8535
class format_string_checker {
8536
public:
8537
    using parse_context_type = compile_parse_context<CharT>;
8538
    static constexpr auto num_args = sizeof...(Args);
8539
8540
    explicit constexpr format_string_checker(
8541
        std::basic_string_view<CharT> format_str)
8542
        : m_parse_context(source_tag<Source>, format_str, num_args, m_types),
8543
          m_parse_funcs{&parse_format_specs<Args,
8544
                                            default_context<CharT>,
8545
                                            parse_context_type>...},
8546
          m_types{arg_type_constant<Args, CharT>::value...}
8547
    {
8548
    }
8549
8550
    constexpr void on_literal_text(const CharT* begin, const CharT* end)
8551
    {
8552
        // TODO: Do we want to validate Unicode in format strings?
8553
        // We're dealing with text, so we probably do.
8554
        // We could do codeunit-to-codeunit matching,
8555
        // but that could get messy wrt. whitespace matching.
8556
        // It's simpler to not allow nonsense.
8557
        while (begin != end) {
8558
            const auto len = code_point_length_by_starting_code_unit(*begin);
8559
            if (SCN_UNLIKELY(len == 0 ||
8560
                             static_cast<size_t>(end - begin) < len)) {
8561
                return on_error("Invalid encoding in format string");
8562
            }
8563
8564
            const auto cp = decode_code_point_exhaustive(
8565
                std::basic_string_view<CharT>{begin, len});
8566
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
8567
                return on_error("Invalid encoding in format string");
8568
            }
8569
8570
            begin += len;
8571
        }
8572
    }
8573
8574
    constexpr auto on_arg_id()
8575
    {
8576
        return m_parse_context.next_arg_id();
8577
    }
8578
    constexpr auto on_arg_id(std::size_t id)
8579
    {
8580
        m_parse_context.check_arg_id(id);
8581
        return id;
8582
    }
8583
8584
    constexpr void on_replacement_field(size_t id, const CharT* begin)
8585
    {
8586
        set_arg_as_read(id);
8587
8588
        auto type = m_types[id];
8589
        check_arg_can_be_read(type);
8590
8591
        if (type == arg_type::narrow_regex_matches_type ||
8592
            type == arg_type::wide_regex_matches_type) {
8593
            // clang-format off
8594
            return on_error("Regular expression needs to be specified when reading regex_matches");
8595
            // clang-format on
8596
        }
8597
        if (type == arg_type::custom_type && id < num_args) {
8598
            // Only call scanner::parse to check for errors,
8599
            // we're discarding the result.
8600
            // The advance_to dance is done to point the parse context to the
8601
            // character after the `{`; right now, it points to that
8602
            const auto beg = begin;
8603
            m_parse_context.advance_to(begin);
8604
            m_parse_funcs[id](m_parse_context);
8605
            m_parse_context.advance_to(beg);
8606
        }
8607
    }
8608
8609
    constexpr const CharT* on_format_specs(std::size_t id,
8610
                                           const CharT* begin,
8611
                                           const CharT*)
8612
    {
8613
        set_arg_as_read(id);
8614
        check_arg_can_be_read(m_types[id]);
8615
8616
        m_parse_context.advance_to(begin);
8617
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
8618
    }
8619
8620
    constexpr void check_args_exhausted()
8621
    {
8622
        if constexpr (num_args == 0) {
8623
            return;
8624
        }
8625
        for (auto is_set : m_visited_args) {
8626
            if (!is_set) {
8627
                return on_error("Argument list not exhausted");
8628
            }
8629
        }
8630
    }
8631
8632
    void on_error(const char* msg)
8633
    {
8634
        SCN_UNLIKELY_ATTR
8635
        m_parse_context.on_error(msg);
8636
    }
8637
8638
    // Only to satisfy the concept and eliminate compiler errors,
8639
    // because errors are reported by failing to compile on_error above
8640
    // (it's not constexpr)
8641
    constexpr scan_expected<void> get_error() const
8642
    {
8643
        return {};
8644
    }
8645
8646
private:
8647
    constexpr void set_arg_as_read(size_t id)
8648
    {
8649
        if (id >= num_args) {
8650
            return on_error("Invalid out-of-range argument ID");
8651
        }
8652
        if (m_visited_args[id]) {
8653
            return on_error("Argument with this ID already scanned");
8654
        }
8655
        m_visited_args[id] = true;
8656
    }
8657
8658
    constexpr void check_arg_can_be_read(arg_type type)
8659
    {
8660
        if ((type == arg_type::narrow_string_view_type ||
8661
             type == arg_type::wide_string_view_type) &&
8662
            !m_parse_context.is_source_contiguous()) {
8663
            // clang-format off
8664
            return on_error("Cannot read a string_view from a non-contiguous source");
8665
            // clang-format on
8666
        }
8667
        if ((type == arg_type::narrow_string_view_type ||
8668
             type == arg_type::wide_string_view_type) &&
8669
            !m_parse_context.is_source_borrowed()) {
8670
            // clang-format off
8671
            return on_error("Cannot read a string_view from a non-borrowed source");
8672
            // clang-format on
8673
        }
8674
8675
        if ((type == arg_type::narrow_regex_matches_type ||
8676
             type == arg_type::wide_regex_matches_type) &&
8677
            !m_parse_context.is_source_contiguous()) {
8678
            // clang-format off
8679
            return on_error("Cannot read a regex_matches from a non-contiguous source");
8680
            // clang-format on
8681
        }
8682
    }
8683
8684
    using parse_func = const CharT* (*)(parse_context_type&);
8685
8686
    parse_context_type m_parse_context;
8687
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
8688
    arg_type m_types[num_args > 0 ? num_args : 1];
8689
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
8690
};
8691
8692
template <typename Source, typename... Args, typename Str>
8693
constexpr auto check_format_string(const Str&)
8694
    -> std::enable_if_t<!is_compile_string_v<Str>>
8695
0
{
8696
    // TODO: SCN_ENFORE_COMPILE_STRING?
8697
#if 0  // SCN_ENFORE_COMPILE_STRING
8698
    static_assert(dependent_false<Str>::value,
8699
              "SCN_ENFORCE_COMPILE_STRING requires all format "
8700
              "strings to use SCN_STRING.");
8701
#endif
8702
0
}
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [3]>), void>::type scn::v4::detail::check_format_string<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double, char [3]>(char const (&) [3])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [9]>(char const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<char [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char [19]>(char const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [9]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [9]>(wchar_t const (&) [9])
Unexecuted instantiation: std::__1::enable_if<!(is_compile_string_v<wchar_t [19]>), void>::type scn::v4::detail::check_format_string<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t [19]>(wchar_t const (&) [19])
8703
8704
template <typename Source, typename... Args, typename Str>
8705
constexpr auto check_format_string(Str format_str)
8706
    -> std::enable_if_t<is_compile_string_v<Str>>
8707
{
8708
    using char_type = typename Str::char_type;
8709
8710
    SCN_GCC_PUSH
8711
    SCN_GCC_IGNORE("-Wconversion")
8712
    constexpr auto s = std::basic_string_view<char_type>{format_str};
8713
    SCN_GCC_POP
8714
8715
    using checker = format_string_checker<char_type, Source, Args...>;
8716
    constexpr bool invalid_format =
8717
        (parse_format_string<true>(s, checker(s)), true);
8718
    SCN_UNUSED(invalid_format);
8719
}
8720
8721
template <typename CharT, std::size_t N>
8722
constexpr std::basic_string_view<CharT> compile_string_to_view(
8723
    const CharT (&s)[N])
8724
{
8725
    return {s, N - 1};
8726
}
8727
template <typename CharT>
8728
constexpr std::basic_string_view<CharT> compile_string_to_view(
8729
    std::basic_string_view<CharT> s)
8730
{
8731
    return s;
8732
}
8733
}  // namespace detail
8734
8735
#define SCN_STRING_IMPL(s, base, expl)                                       \
8736
    [] {                                                                     \
8737
        struct SCN_COMPILE_STRING : base {                                   \
8738
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
8739
            SCN_MAYBE_UNUSED constexpr expl                                  \
8740
            operator ::std::basic_string_view<char_type>() const             \
8741
            {                                                                \
8742
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
8743
            }                                                                \
8744
        };                                                                   \
8745
        return SCN_COMPILE_STRING{};                                         \
8746
    }()
8747
8748
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
8749
8750
/**
8751
 * Compile-time format string
8752
 *
8753
 * \ingroup format-string
8754
 */
8755
template <typename CharT, typename Source, typename... Args>
8756
class basic_scan_format_string {
8757
public:
8758
    SCN_CLANG_PUSH
8759
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
8760
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
8761
#endif
8762
    template <
8763
        typename S,
8764
        std::enable_if_t<
8765
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
8766
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
8767
0
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
8768
0
    {
8769
#if SCN_HAS_CONSTEVAL
8770
        using checker = detail::format_string_checker<CharT, Source, Args...>;
8771
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
8772
        SCN_UNUSED(e);
8773
#else
8774
0
        detail::check_format_string<Source, Args...>(s);
8775
0
#endif
8776
0
    }
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEJdEEC2IA3_cTnPNS2_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS2_17basic_string_viewIcS5_EEEsr6detailE11is_not_selfISE_SA_EEvE4typeELPv0EEESG_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_cTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIcSF_EEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIcNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_cTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIcSC_EEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA9_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS2_18default_sentinel_tEEEJNSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEEC2IA19_wTnPNSC_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NSC_17basic_string_viewIwNSE_IwEEEEEsr6detailE11is_not_selfISN_SJ_EEvE4typeELPv0EEESP_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA9_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
Unexecuted instantiation: _ZN3scn2v424basic_scan_format_stringIwNS0_6ranges6detail9subrange_8subrangeIPKwS7_EEJNSt3__112basic_stringIcNS9_11char_traitsIcEENS9_9allocatorIcEEEEEEC2IA19_wTnPNS9_9enable_ifIXaasr3stdE16is_convertible_vIRKT_NS9_17basic_string_viewIwNSB_IwEEEEEsr6detailE11is_not_selfISK_SG_EEvE4typeELPv0EEESM_
8777
    SCN_CLANG_POP
8778
8779
    template <
8780
        typename OtherSource,
8781
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
8782
                                        detail::remove_cvref_t<OtherSource>> &&
8783
                         ranges::borrowed_range<Source> ==
8784
                             ranges::borrowed_range<OtherSource>>* = nullptr>
8785
    constexpr basic_scan_format_string(
8786
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
8787
        : m_str(other.get())
8788
    {
8789
    }
8790
8791
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
8792
1.18M
        : m_str(r.str)
8793
1.18M
    {
8794
1.18M
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
67.9k
        : m_str(r.str)
8793
67.9k
    {
8794
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
59.8k
        : m_str(r.str)
8793
59.8k
    {
8794
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
79.5k
        : m_str(r.str)
8793
79.5k
    {
8794
79.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
64.8k
        : m_str(r.str)
8793
64.8k
    {
8794
64.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
80.8k
        : m_str(r.str)
8793
80.8k
    {
8794
80.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
65.5k
        : m_str(r.str)
8793
65.5k
    {
8794
65.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
67.9k
        : m_str(r.str)
8793
67.9k
    {
8794
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
59.8k
        : m_str(r.str)
8793
59.8k
    {
8794
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
79.2k
        : m_str(r.str)
8793
79.2k
    {
8794
79.2k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
64.9k
        : m_str(r.str)
8793
64.9k
    {
8794
64.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
80.6k
        : m_str(r.str)
8793
80.6k
    {
8794
80.6k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<char>)
Line
Count
Source
8792
65.6k
        : m_str(r.str)
8793
65.6k
    {
8794
65.6k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.3k
        : m_str(r.str)
8793
29.3k
    {
8794
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.2k
        : m_str(r.str)
8793
29.2k
    {
8794
29.2k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.4k
        : m_str(r.str)
8793
29.4k
    {
8794
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.3k
        : m_str(r.str)
8793
29.3k
    {
8794
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.5k
        : m_str(r.str)
8793
29.5k
    {
8794
29.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.4k
        : m_str(r.str)
8793
29.4k
    {
8794
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.3k
        : m_str(r.str)
8793
29.3k
    {
8794
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.2k
        : m_str(r.str)
8793
29.2k
    {
8794
29.2k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.4k
        : m_str(r.str)
8793
29.4k
    {
8794
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.3k
        : m_str(r.str)
8793
29.3k
    {
8794
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.5k
        : m_str(r.str)
8793
29.5k
    {
8794
29.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::basic_scan_format_string(scn::v4::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
8792
29.4k
        : m_str(r.str)
8793
29.4k
    {
8794
29.4k
    }
8795
8796
    constexpr operator std::basic_string_view<CharT>() const
8797
1.18M
    {
8798
1.18M
        return m_str;
8799
1.18M
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
67.9k
    {
8798
67.9k
        return m_str;
8799
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
59.8k
    {
8798
59.8k
        return m_str;
8799
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
79.5k
    {
8798
79.5k
        return m_str;
8799
79.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
64.8k
    {
8798
64.8k
        return m_str;
8799
64.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
80.8k
    {
8798
80.8k
        return m_str;
8799
80.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
65.5k
    {
8798
65.5k
        return m_str;
8799
65.5k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
67.9k
    {
8798
67.9k
        return m_str;
8799
67.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
59.8k
    {
8798
59.8k
        return m_str;
8799
59.8k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
79.2k
    {
8798
79.2k
        return m_str;
8799
79.2k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
64.9k
    {
8798
64.9k
        return m_str;
8799
64.9k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
80.6k
    {
8798
80.6k
        return m_str;
8799
80.6k
    }
scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
8797
65.6k
    {
8798
65.6k
        return m_str;
8799
65.6k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.3k
    {
8798
29.3k
        return m_str;
8799
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.2k
    {
8798
29.2k
        return m_str;
8799
29.2k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.4k
    {
8798
29.4k
        return m_str;
8799
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.3k
    {
8798
29.3k
        return m_str;
8799
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.5k
    {
8798
29.5k
        return m_str;
8799
29.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.4k
    {
8798
29.4k
        return m_str;
8799
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.3k
    {
8798
29.3k
        return m_str;
8799
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.2k
    {
8798
29.2k
        return m_str;
8799
29.2k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.4k
    {
8798
29.4k
        return m_str;
8799
29.4k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.3k
    {
8798
29.3k
        return m_str;
8799
29.3k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.5k
    {
8798
29.5k
        return m_str;
8799
29.5k
    }
scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
8797
29.4k
    {
8798
29.4k
        return m_str;
8799
29.4k
    }
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<char, scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Unexecuted instantiation: scn::v4::basic_scan_format_string<wchar_t, scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
8800
    constexpr std::basic_string_view<CharT> get() const
8801
    {
8802
        return m_str;
8803
    }
8804
8805
private:
8806
    std::basic_string_view<CharT> m_str;
8807
};
8808
8809
namespace detail {
8810
class locale_ref {
8811
#if !SCN_DISABLE_LOCALE
8812
public:
8813
835k
    constexpr locale_ref() = default;
8814
8815
    template <typename Locale>
8816
    explicit locale_ref(const Locale& loc);
8817
8818
    constexpr explicit operator bool() const noexcept
8819
0
    {
8820
0
        return m_locale != nullptr;
8821
0
    }
8822
8823
    template <typename Locale>
8824
    Locale get() const;
8825
8826
private:
8827
    const void* m_locale{nullptr};
8828
#else
8829
public:
8830
    constexpr locale_ref() = default;
8831
8832
    template <typename T>
8833
    constexpr explicit locale_ref(T&&)
8834
    {
8835
    }
8836
8837
    constexpr explicit operator bool() const noexcept
8838
    {
8839
        return true;
8840
    }
8841
#endif
8842
};
8843
}  // namespace detail
8844
8845
/////////////////////////////////////////////////////////////////
8846
// scan_context
8847
/////////////////////////////////////////////////////////////////
8848
8849
namespace detail {
8850
template <typename I>
8851
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8852
template <typename I>
8853
inline constexpr bool is_comparable_with_nullptr =
8854
    mp_valid_v<apply_cmp_with_nullptr, I>;
8855
8856
template <typename Args>
8857
class scan_context_base {
8858
public:
8859
    /// Get argument at index `id`
8860
    constexpr auto arg(size_t id) const noexcept
8861
1.02M
    {
8862
1.02M
        return m_args.get(id);
8863
1.02M
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::arg(unsigned long) const
Line
Count
Source
8861
710k
    {
8862
710k
        return m_args.get(id);
8863
710k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8861
318k
    {
8862
318k
        return m_args.get(id);
8863
318k
    }
8864
8865
    constexpr const Args& args() const
8866
0
    {
8867
0
        return m_args;
8868
0
    }
Unexecuted instantiation: scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::args() const
Unexecuted instantiation: scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::args() const
8869
8870
    SCN_NODISCARD constexpr locale_ref locale() const
8871
880k
    {
8872
880k
        return m_locale;
8873
880k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::locale() const
Line
Count
Source
8871
660k
    {
8872
660k
        return m_locale;
8873
660k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::locale() const
Line
Count
Source
8871
219k
    {
8872
219k
        return m_locale;
8873
219k
    }
8874
8875
protected:
8876
    scan_context_base(Args args, locale_ref loc)
8877
1.02M
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8878
1.02M
    {
8879
1.02M
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
8877
710k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8878
710k
    {
8879
710k
    }
scn::v4::detail::scan_context_base<scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >::scan_context_base(scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
8877
318k
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8878
318k
    {
8879
318k
    }
8880
8881
    Args m_args;
8882
    locale_ref m_locale;
8883
};
8884
}  // namespace detail
8885
8886
/**
8887
 * \defgroup ctx Contexts and scanners
8888
 *
8889
 * \brief Lower-level APIs used for scanning individual values
8890
 *
8891
 * \section user-defined Scanning user-defined types
8892
 *
8893
 * User-defined types can be scanned by specializing the class template
8894
 * `scn::scanner`.
8895
 *
8896
 * \code{.cpp}
8897
 * struct mytype {
8898
 *   int key;
8899
 *   std::string value;
8900
 * };
8901
 *
8902
 * template <>
8903
 * struct scn::scanner<mytype> {
8904
 *   template <typename ParseContext>
8905
 *   constexpr auto parse(ParseCtx& pctx)
8906
 *     -> typename ParseContext::iterator {
8907
 *     // parse() implementation just returning begin():
8908
 *     // only permits empty format specifiers
8909
 *     return pctx.begin();
8910
 *   }
8911
 *
8912
 *   template <typename Context>
8913
 *   auto scan(mytype& val, Context& ctx)
8914
 *     -> scan_expected<typename Context::iterator> {
8915
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8916
 *       .transform([&](auto result) {
8917
 *         std::tie(val.key, val.value) = std::move(result->values());
8918
 *         return result.begin();
8919
 *       });
8920
 *   }
8921
 * };
8922
 * \endcode
8923
 *
8924
 * See also
8925
 * \ref g-usertypes
8926
 */
8927
8928
/**
8929
 * Scanning context.
8930
 *
8931
 * \ingroup ctx
8932
 */
8933
template <typename Range, typename CharT>
8934
class basic_scan_context
8935
    : public detail::scan_context_base<
8936
          basic_scan_args<basic_scan_context<Range, CharT>>> {
8937
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8938
8939
    using args_type = basic_scan_args<basic_scan_context>;
8940
    using arg_type = basic_scan_arg<basic_scan_context>;
8941
8942
public:
8943
    /// Character type of the input
8944
    using char_type = CharT;
8945
    using range_type = std::conditional_t<
8946
        std::is_same_v<Range, detail::buffer_range_tag>,
8947
        typename detail::basic_scan_buffer<char_type>::range_type,
8948
        Range>;
8949
    using iterator = ranges::iterator_t<range_type>;
8950
    using sentinel = ranges::sentinel_t<range_type>;
8951
    using parse_context_type = basic_scan_parse_context<char_type>;
8952
8953
    /**
8954
     * The scanner type associated with this scanning context.
8955
     */
8956
    template <typename T>
8957
    using scanner_type = scanner<T, char_type>;
8958
8959
    constexpr basic_scan_context(iterator curr,
8960
                                 args_type a,
8961
                                 detail::locale_ref loc = {})
8962
514k
        : base(SCN_MOVE(a), loc), m_current(curr)
8963
514k
    {
8964
514k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::basic_scan_context(scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::detail::locale_ref)
Line
Count
Source
8962
355k
        : base(SCN_MOVE(a), loc), m_current(curr)
8963
355k
    {
8964
355k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::basic_scan_context(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::basic_scan_args<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::detail::locale_ref)
Line
Count
Source
8962
159k
        : base(SCN_MOVE(a), loc), m_current(curr)
8963
159k
    {
8964
159k
    }
8965
8966
    basic_scan_context(const basic_scan_context&) = delete;
8967
    basic_scan_context& operator=(const basic_scan_context&) = delete;
8968
8969
    basic_scan_context(basic_scan_context&&) = default;
8970
    basic_scan_context& operator=(basic_scan_context&&) = default;
8971
    ~basic_scan_context() = default;
8972
8973
    /**
8974
     * Returns an iterator pointing to the current position in the source
8975
     * range.
8976
     */
8977
    constexpr iterator begin() const
8978
1.24M
    {
8979
1.24M
        return m_current;
8980
1.24M
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::begin() const
Line
Count
Source
8978
967k
    {
8979
967k
        return m_current;
8980
967k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::begin() const
Line
Count
Source
8978
279k
    {
8979
279k
        return m_current;
8980
279k
    }
8981
8982
    /**
8983
     * Returns a sentinel pointing to the end of the source range.
8984
     */
8985
    constexpr sentinel end() const
8986
440k
    {
8987
440k
        return ranges::default_sentinel;
8988
440k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::end() const
Line
Count
Source
8986
330k
    {
8987
330k
        return ranges::default_sentinel;
8988
330k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::end() const
Line
Count
Source
8986
109k
    {
8987
109k
        return ranges::default_sentinel;
8988
109k
    }
8989
8990
    /**
8991
     * Returns a subrange over `[begin(), end())`
8992
     */
8993
    constexpr auto range() const
8994
440k
    {
8995
440k
        return ranges::subrange{begin(), end()};
8996
440k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::range() const
Line
Count
Source
8994
330k
    {
8995
330k
        return ranges::subrange{begin(), end()};
8996
330k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::range() const
Line
Count
Source
8994
109k
    {
8995
109k
        return ranges::subrange{begin(), end()};
8996
109k
    }
8997
8998
    /// Advances the beginning of the source range to `it`
8999
    void advance_to(iterator it)
9000
291k
    {
9001
291k
        m_current = SCN_MOVE(it);
9002
291k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char>::advance_to(scn::v4::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
9000
281k
    {
9001
281k
        m_current = SCN_MOVE(it);
9002
281k
    }
scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t>::advance_to(scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
9000
10.6k
    {
9001
10.6k
        m_current = SCN_MOVE(it);
9002
10.6k
    }
9003
9004
private:
9005
    iterator m_current;
9006
};
9007
9008
namespace detail {
9009
template <typename T, typename ParseCtx>
9010
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9011
    ParseCtx& pctx,
9012
    format_specs& specs);
9013
9014
template <typename T, typename Context>
9015
scan_expected<typename Context::iterator>
9016
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
9017
}  // namespace detail
9018
9019
/////////////////////////////////////////////////////////////////
9020
// scanner
9021
/////////////////////////////////////////////////////////////////
9022
9023
/**
9024
 * `scanner` specialization for all built-in types
9025
 *
9026
 * \ingroup ctx
9027
 */
9028
template <typename T, typename CharT>
9029
struct scanner<T,
9030
               CharT,
9031
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
9032
                                    detail::arg_type::custom_type &&
9033
                                !detail::is_type_disabled<T>>> {
9034
    template <typename ParseCtx>
9035
    constexpr auto parse(ParseCtx& pctx) -> typename ParseCtx::iterator
9036
    {
9037
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
9038
    }
9039
9040
    template <typename Context>
9041
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
9042
    {
9043
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
9044
    }
9045
9046
private:
9047
    detail::format_specs m_specs;
9048
};
9049
9050
namespace detail {
9051
template <typename T, typename ParseCtx>
9052
constexpr typename ParseCtx::iterator scanner_parse_for_builtin_type(
9053
    ParseCtx& pctx,
9054
    format_specs& specs)
9055
{
9056
    using char_type = typename ParseCtx::char_type;
9057
9058
    auto begin = pctx.begin();
9059
    const auto end = pctx.end();
9060
    if (begin == end) {
9061
        return begin;
9062
    }
9063
9064
    using handler_type = specs_setter;
9065
    const auto type = arg_type_constant<T, char_type>::value;
9066
    auto checker =
9067
        detail::specs_checker<handler_type>(handler_type(specs), type);
9068
9069
    const auto it =
9070
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
9071
9072
    switch (type) {
9073
        case arg_type::none_type:
9074
            SCN_FALLTHROUGH;
9075
        case arg_type::custom_type:
9076
            SCN_ENSURE(false);
9077
            break;
9078
9079
        case arg_type::bool_type:
9080
            check_bool_type_specs(specs, checker);
9081
            break;
9082
9083
        case arg_type::schar_type:
9084
        case arg_type::short_type:
9085
        case arg_type::int_type:
9086
        case arg_type::long_type:
9087
        case arg_type::llong_type:
9088
        case arg_type::int128_type:
9089
        case arg_type::uchar_type:
9090
        case arg_type::ushort_type:
9091
        case arg_type::uint_type:
9092
        case arg_type::ulong_type:
9093
        case arg_type::ullong_type:
9094
        case arg_type::uint128_type:
9095
            check_int_type_specs(specs, checker);
9096
            break;
9097
9098
        case arg_type::narrow_character_type:
9099
        case arg_type::wide_character_type:
9100
        case arg_type::code_point_type:
9101
            check_char_type_specs(specs, checker);
9102
            break;
9103
9104
        case arg_type::float_type:
9105
        case arg_type::double_type:
9106
        case arg_type::ldouble_type:
9107
            check_float_type_specs(specs, checker);
9108
            break;
9109
9110
        case arg_type::narrow_string_type:
9111
        case arg_type::narrow_string_view_type:
9112
        case arg_type::wide_string_type:
9113
        case arg_type::wide_string_view_type:
9114
            check_string_type_specs(specs, checker);
9115
            break;
9116
9117
        case arg_type::pointer_type:
9118
            check_pointer_type_specs(specs, checker);
9119
            break;
9120
9121
        case arg_type::narrow_regex_matches_type:
9122
        case arg_type::wide_regex_matches_type:
9123
            check_regex_type_specs(specs, checker);
9124
            break;
9125
9126
            SCN_CLANG_PUSH
9127
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9128
9129
        default:
9130
            SCN_ENSURE(false);
9131
            SCN_UNREACHABLE;
9132
9133
            SCN_CLANG_POP
9134
    }
9135
9136
    if (specs.type == presentation_type::regex ||
9137
        specs.type == presentation_type::regex_escaped) {
9138
        if (!pctx.is_source_contiguous()) {
9139
            SCN_UNLIKELY_ATTR
9140
            // clang-format off
9141
            checker.on_error("Cannot read a regex from a non-contiguous source");
9142
            // clang-format on
9143
        }
9144
        if (!pctx.is_source_borrowed()) {
9145
            SCN_UNLIKELY_ATTR
9146
            checker.on_error("Cannot read a regex from a non-borrowed source");
9147
        }
9148
    }
9149
9150
    return it;
9151
}
9152
}  // namespace detail
9153
9154
/**
9155
 * Type for discarding any scanned value.
9156
 * Example:
9157
 *
9158
 * \code{.cpp}
9159
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
9160
 * // r.has_value() == true
9161
 * // decltype(r->value()) is scn::discard<int>
9162
 * \endcode
9163
 *
9164
 * \ingroup format-string
9165
 */
9166
template <typename T>
9167
struct discard {
9168
    constexpr discard() = default;
9169
9170
    constexpr discard(const T&) noexcept {}
9171
    constexpr discard(T&&) noexcept {}
9172
9173
    constexpr discard& operator=(const T&) noexcept
9174
    {
9175
        return *this;
9176
    }
9177
    constexpr discard& operator=(T&&) noexcept
9178
    {
9179
        return *this;
9180
    }
9181
};
9182
9183
template <typename T, typename CharT>
9184
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
9185
    template <typename Context>
9186
    auto scan(discard<T>&, Context& ctx) const
9187
    {
9188
        T val{};
9189
        return scanner<T, CharT>::scan(val, ctx);
9190
    }
9191
};
9192
9193
namespace detail {
9194
template <typename Range>
9195
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
9196
    Range r,
9197
    bool allow_exhaustion);
9198
9199
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
9200
    extern template scan_expected<Context::iterator>         \
9201
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
9202
9203
#if SCN_HAS_INT128
9204
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)   \
9205
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int128, Context) \
9206
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(uint128, Context)
9207
#else
9208
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context) /* int128 */
9209
#endif
9210
9211
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
9212
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
9213
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
9214
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9215
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
9216
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
9217
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
9218
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
9219
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
9220
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
9221
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
9222
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
9223
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
9224
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
9225
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
9226
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
9227
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
9228
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
9229
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
9230
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
9231
        std::basic_string_view<Context::char_type>, Context)               \
9232
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
9233
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
9234
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_INT128(Context)                    \
9235
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
9236
    internal_skip_classic_whitespace(Context::range_type, bool);
9237
9238
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
9239
9240
}  // namespace detail
9241
9242
/////////////////////////////////////////////////////////////////
9243
// visit_scan_arg
9244
/////////////////////////////////////////////////////////////////
9245
9246
namespace detail {
9247
9248
template <typename Visitor, typename Ctx>
9249
constexpr decltype(auto) visit_impl(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9250
1.12M
{
9251
1.12M
#define SCN_VISIT(Type)                                                \
9252
23.7M
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
23.7M
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
23.7M
    }                                                                  \
9255
23.7M
    else {                                                             \
9256
23.7M
        return vis(monostate_val);                                     \
9257
23.7M
    }
9258
9259
1.12M
    monostate monostate_val{};
9260
9261
1.12M
    switch (get_arg_type(arg)) {
9262
183k
        case detail::arg_type::schar_type:
9263
183k
            SCN_VISIT(signed char);
9264
183k
        case detail::arg_type::short_type:
9265
183k
            SCN_VISIT(short);
9266
390k
        case detail::arg_type::int_type:
9267
390k
            SCN_VISIT(int);
9268
390k
        case detail::arg_type::long_type:
9269
390k
            SCN_VISIT(long);
9270
601k
        case detail::arg_type::llong_type:
9271
601k
            SCN_VISIT(long long);
9272
601k
        case detail::arg_type::int128_type:
9273
601k
#if SCN_HAS_INT128
9274
601k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
766k
        case detail::arg_type::uchar_type:
9279
766k
            SCN_VISIT(unsigned char);
9280
766k
        case detail::arg_type::ushort_type:
9281
766k
            SCN_VISIT(unsigned short);
9282
942k
        case detail::arg_type::uint_type:
9283
942k
            SCN_VISIT(unsigned);
9284
942k
        case detail::arg_type::ulong_type:
9285
942k
            SCN_VISIT(unsigned long);
9286
1.12M
        case detail::arg_type::ullong_type:
9287
1.12M
            SCN_VISIT(unsigned long long);
9288
1.12M
        case detail::arg_type::uint128_type:
9289
1.12M
#if SCN_HAS_INT128
9290
1.12M
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
1.12M
        case detail::arg_type::pointer_type:
9295
1.12M
            SCN_VISIT(void*);
9296
1.12M
        case detail::arg_type::bool_type:
9297
1.12M
            SCN_VISIT(bool);
9298
1.12M
        case detail::arg_type::narrow_character_type:
9299
1.12M
            SCN_VISIT(char);
9300
1.12M
        case detail::arg_type::wide_character_type:
9301
1.12M
            SCN_VISIT(wchar_t);
9302
1.12M
        case detail::arg_type::code_point_type:
9303
1.12M
            SCN_VISIT(char32_t);
9304
1.12M
        case detail::arg_type::float_type:
9305
1.12M
            SCN_VISIT(float);
9306
1.12M
        case detail::arg_type::double_type:
9307
1.12M
            SCN_VISIT(double);
9308
1.12M
        case detail::arg_type::ldouble_type:
9309
1.12M
            SCN_VISIT(long double);
9310
1.12M
        case detail::arg_type::narrow_string_view_type:
9311
1.12M
            SCN_VISIT(std::string_view);
9312
1.12M
        case detail::arg_type::narrow_string_type:
9313
1.12M
            SCN_VISIT(std::string);
9314
1.12M
        case detail::arg_type::wide_string_view_type:
9315
1.12M
            SCN_VISIT(std::wstring_view);
9316
1.12M
        case detail::arg_type::wide_string_type:
9317
1.12M
            SCN_VISIT(std::wstring);
9318
1.12M
        case detail::arg_type::narrow_regex_matches_type:
9319
1.12M
            SCN_VISIT(regex_matches);
9320
1.12M
        case detail::arg_type::wide_regex_matches_type:
9321
1.12M
            SCN_VISIT(wregex_matches);
9322
9323
1.12M
        case detail::arg_type::custom_type:
9324
1.12M
#if !SCN_DISABLE_TYPE_CUSTOM
9325
1.12M
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
1.12M
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
1.12M
            SCN_CLANG_POP
9341
1.12M
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9250
95.4k
{
9251
95.4k
#define SCN_VISIT(Type)                                                \
9252
95.4k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
95.4k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
95.4k
    }                                                                  \
9255
95.4k
    else {                                                             \
9256
95.4k
        return vis(monostate_val);                                     \
9257
95.4k
    }
9258
9259
95.4k
    monostate monostate_val{};
9260
9261
95.4k
    switch (get_arg_type(arg)) {
9262
15.8k
        case detail::arg_type::schar_type:
9263
15.8k
            SCN_VISIT(signed char);
9264
15.8k
        case detail::arg_type::short_type:
9265
15.8k
            SCN_VISIT(short);
9266
34.2k
        case detail::arg_type::int_type:
9267
34.2k
            SCN_VISIT(int);
9268
34.2k
        case detail::arg_type::long_type:
9269
34.2k
            SCN_VISIT(long);
9270
52.9k
        case detail::arg_type::llong_type:
9271
52.9k
            SCN_VISIT(long long);
9272
52.9k
        case detail::arg_type::int128_type:
9273
52.9k
#if SCN_HAS_INT128
9274
52.9k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
66.1k
        case detail::arg_type::uchar_type:
9279
66.1k
            SCN_VISIT(unsigned char);
9280
66.1k
        case detail::arg_type::ushort_type:
9281
66.1k
            SCN_VISIT(unsigned short);
9282
80.7k
        case detail::arg_type::uint_type:
9283
80.7k
            SCN_VISIT(unsigned);
9284
80.7k
        case detail::arg_type::ulong_type:
9285
80.7k
            SCN_VISIT(unsigned long);
9286
95.4k
        case detail::arg_type::ullong_type:
9287
95.4k
            SCN_VISIT(unsigned long long);
9288
95.4k
        case detail::arg_type::uint128_type:
9289
95.4k
#if SCN_HAS_INT128
9290
95.4k
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
95.4k
        case detail::arg_type::pointer_type:
9295
95.4k
            SCN_VISIT(void*);
9296
95.4k
        case detail::arg_type::bool_type:
9297
95.4k
            SCN_VISIT(bool);
9298
95.4k
        case detail::arg_type::narrow_character_type:
9299
95.4k
            SCN_VISIT(char);
9300
95.4k
        case detail::arg_type::wide_character_type:
9301
95.4k
            SCN_VISIT(wchar_t);
9302
95.4k
        case detail::arg_type::code_point_type:
9303
95.4k
            SCN_VISIT(char32_t);
9304
95.4k
        case detail::arg_type::float_type:
9305
95.4k
            SCN_VISIT(float);
9306
95.4k
        case detail::arg_type::double_type:
9307
95.4k
            SCN_VISIT(double);
9308
95.4k
        case detail::arg_type::ldouble_type:
9309
95.4k
            SCN_VISIT(long double);
9310
95.4k
        case detail::arg_type::narrow_string_view_type:
9311
95.4k
            SCN_VISIT(std::string_view);
9312
95.4k
        case detail::arg_type::narrow_string_type:
9313
95.4k
            SCN_VISIT(std::string);
9314
95.4k
        case detail::arg_type::wide_string_view_type:
9315
95.4k
            SCN_VISIT(std::wstring_view);
9316
95.4k
        case detail::arg_type::wide_string_type:
9317
95.4k
            SCN_VISIT(std::wstring);
9318
95.4k
        case detail::arg_type::narrow_regex_matches_type:
9319
95.4k
            SCN_VISIT(regex_matches);
9320
95.4k
        case detail::arg_type::wide_regex_matches_type:
9321
95.4k
            SCN_VISIT(wregex_matches);
9322
9323
95.4k
        case detail::arg_type::custom_type:
9324
95.4k
#if !SCN_DISABLE_TYPE_CUSTOM
9325
95.4k
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
95.4k
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
95.4k
            SCN_CLANG_POP
9341
95.4k
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9250
94.1k
{
9251
94.1k
#define SCN_VISIT(Type)                                                \
9252
94.1k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
94.1k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
94.1k
    }                                                                  \
9255
94.1k
    else {                                                             \
9256
94.1k
        return vis(monostate_val);                                     \
9257
94.1k
    }
9258
9259
94.1k
    monostate monostate_val{};
9260
9261
94.1k
    switch (get_arg_type(arg)) {
9262
15.8k
        case detail::arg_type::schar_type:
9263
15.8k
            SCN_VISIT(signed char);
9264
15.8k
        case detail::arg_type::short_type:
9265
15.8k
            SCN_VISIT(short);
9266
33.6k
        case detail::arg_type::int_type:
9267
33.6k
            SCN_VISIT(int);
9268
33.6k
        case detail::arg_type::long_type:
9269
33.6k
            SCN_VISIT(long);
9270
51.7k
        case detail::arg_type::llong_type:
9271
51.7k
            SCN_VISIT(long long);
9272
51.7k
        case detail::arg_type::int128_type:
9273
51.7k
#if SCN_HAS_INT128
9274
51.7k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
64.9k
        case detail::arg_type::uchar_type:
9279
64.9k
            SCN_VISIT(unsigned char);
9280
64.9k
        case detail::arg_type::ushort_type:
9281
64.9k
            SCN_VISIT(unsigned short);
9282
79.4k
        case detail::arg_type::uint_type:
9283
79.4k
            SCN_VISIT(unsigned);
9284
79.4k
        case detail::arg_type::ulong_type:
9285
79.4k
            SCN_VISIT(unsigned long);
9286
94.1k
        case detail::arg_type::ullong_type:
9287
94.1k
            SCN_VISIT(unsigned long long);
9288
94.1k
        case detail::arg_type::uint128_type:
9289
94.1k
#if SCN_HAS_INT128
9290
94.1k
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
94.1k
        case detail::arg_type::pointer_type:
9295
94.1k
            SCN_VISIT(void*);
9296
94.1k
        case detail::arg_type::bool_type:
9297
94.1k
            SCN_VISIT(bool);
9298
94.1k
        case detail::arg_type::narrow_character_type:
9299
94.1k
            SCN_VISIT(char);
9300
94.1k
        case detail::arg_type::wide_character_type:
9301
94.1k
            SCN_VISIT(wchar_t);
9302
94.1k
        case detail::arg_type::code_point_type:
9303
94.1k
            SCN_VISIT(char32_t);
9304
94.1k
        case detail::arg_type::float_type:
9305
94.1k
            SCN_VISIT(float);
9306
94.1k
        case detail::arg_type::double_type:
9307
94.1k
            SCN_VISIT(double);
9308
94.1k
        case detail::arg_type::ldouble_type:
9309
94.1k
            SCN_VISIT(long double);
9310
94.1k
        case detail::arg_type::narrow_string_view_type:
9311
94.1k
            SCN_VISIT(std::string_view);
9312
94.1k
        case detail::arg_type::narrow_string_type:
9313
94.1k
            SCN_VISIT(std::string);
9314
94.1k
        case detail::arg_type::wide_string_view_type:
9315
94.1k
            SCN_VISIT(std::wstring_view);
9316
94.1k
        case detail::arg_type::wide_string_type:
9317
94.1k
            SCN_VISIT(std::wstring);
9318
94.1k
        case detail::arg_type::narrow_regex_matches_type:
9319
94.1k
            SCN_VISIT(regex_matches);
9320
94.1k
        case detail::arg_type::wide_regex_matches_type:
9321
94.1k
            SCN_VISIT(wregex_matches);
9322
9323
94.1k
        case detail::arg_type::custom_type:
9324
94.1k
#if !SCN_DISABLE_TYPE_CUSTOM
9325
94.1k
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
94.1k
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
94.1k
            SCN_CLANG_POP
9341
94.1k
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9250
330k
{
9251
330k
#define SCN_VISIT(Type)                                                \
9252
330k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
330k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
330k
    }                                                                  \
9255
330k
    else {                                                             \
9256
330k
        return vis(monostate_val);                                     \
9257
330k
    }
9258
9259
330k
    monostate monostate_val{};
9260
9261
330k
    switch (get_arg_type(arg)) {
9262
53.2k
        case detail::arg_type::schar_type:
9263
53.2k
            SCN_VISIT(signed char);
9264
53.2k
        case detail::arg_type::short_type:
9265
53.2k
            SCN_VISIT(short);
9266
116k
        case detail::arg_type::int_type:
9267
116k
            SCN_VISIT(int);
9268
116k
        case detail::arg_type::long_type:
9269
116k
            SCN_VISIT(long);
9270
180k
        case detail::arg_type::llong_type:
9271
180k
            SCN_VISIT(long long);
9272
180k
        case detail::arg_type::int128_type:
9273
180k
#if SCN_HAS_INT128
9274
180k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
227k
        case detail::arg_type::uchar_type:
9279
227k
            SCN_VISIT(unsigned char);
9280
227k
        case detail::arg_type::ushort_type:
9281
227k
            SCN_VISIT(unsigned short);
9282
278k
        case detail::arg_type::uint_type:
9283
278k
            SCN_VISIT(unsigned);
9284
278k
        case detail::arg_type::ulong_type:
9285
278k
            SCN_VISIT(unsigned long);
9286
330k
        case detail::arg_type::ullong_type:
9287
330k
            SCN_VISIT(unsigned long long);
9288
330k
        case detail::arg_type::uint128_type:
9289
330k
#if SCN_HAS_INT128
9290
330k
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
330k
        case detail::arg_type::pointer_type:
9295
330k
            SCN_VISIT(void*);
9296
330k
        case detail::arg_type::bool_type:
9297
330k
            SCN_VISIT(bool);
9298
330k
        case detail::arg_type::narrow_character_type:
9299
330k
            SCN_VISIT(char);
9300
330k
        case detail::arg_type::wide_character_type:
9301
330k
            SCN_VISIT(wchar_t);
9302
330k
        case detail::arg_type::code_point_type:
9303
330k
            SCN_VISIT(char32_t);
9304
330k
        case detail::arg_type::float_type:
9305
330k
            SCN_VISIT(float);
9306
330k
        case detail::arg_type::double_type:
9307
330k
            SCN_VISIT(double);
9308
330k
        case detail::arg_type::ldouble_type:
9309
330k
            SCN_VISIT(long double);
9310
330k
        case detail::arg_type::narrow_string_view_type:
9311
330k
            SCN_VISIT(std::string_view);
9312
330k
        case detail::arg_type::narrow_string_type:
9313
330k
            SCN_VISIT(std::string);
9314
330k
        case detail::arg_type::wide_string_view_type:
9315
330k
            SCN_VISIT(std::wstring_view);
9316
330k
        case detail::arg_type::wide_string_type:
9317
330k
            SCN_VISIT(std::wstring);
9318
330k
        case detail::arg_type::narrow_regex_matches_type:
9319
330k
            SCN_VISIT(regex_matches);
9320
330k
        case detail::arg_type::wide_regex_matches_type:
9321
330k
            SCN_VISIT(wregex_matches);
9322
9323
330k
        case detail::arg_type::custom_type:
9324
330k
#if !SCN_DISABLE_TYPE_CUSTOM
9325
330k
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
330k
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
330k
            SCN_CLANG_POP
9341
330k
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&)
Line
Count
Source
9250
330k
{
9251
330k
#define SCN_VISIT(Type)                                                \
9252
330k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
330k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
330k
    }                                                                  \
9255
330k
    else {                                                             \
9256
330k
        return vis(monostate_val);                                     \
9257
330k
    }
9258
9259
330k
    monostate monostate_val{};
9260
9261
330k
    switch (get_arg_type(arg)) {
9262
53.2k
        case detail::arg_type::schar_type:
9263
53.2k
            SCN_VISIT(signed char);
9264
53.2k
        case detail::arg_type::short_type:
9265
53.2k
            SCN_VISIT(short);
9266
116k
        case detail::arg_type::int_type:
9267
116k
            SCN_VISIT(int);
9268
116k
        case detail::arg_type::long_type:
9269
116k
            SCN_VISIT(long);
9270
180k
        case detail::arg_type::llong_type:
9271
180k
            SCN_VISIT(long long);
9272
180k
        case detail::arg_type::int128_type:
9273
180k
#if SCN_HAS_INT128
9274
180k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
227k
        case detail::arg_type::uchar_type:
9279
227k
            SCN_VISIT(unsigned char);
9280
227k
        case detail::arg_type::ushort_type:
9281
227k
            SCN_VISIT(unsigned short);
9282
278k
        case detail::arg_type::uint_type:
9283
278k
            SCN_VISIT(unsigned);
9284
278k
        case detail::arg_type::ulong_type:
9285
278k
            SCN_VISIT(unsigned long);
9286
330k
        case detail::arg_type::ullong_type:
9287
330k
            SCN_VISIT(unsigned long long);
9288
330k
        case detail::arg_type::uint128_type:
9289
330k
#if SCN_HAS_INT128
9290
330k
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
330k
        case detail::arg_type::pointer_type:
9295
330k
            SCN_VISIT(void*);
9296
330k
        case detail::arg_type::bool_type:
9297
330k
            SCN_VISIT(bool);
9298
330k
        case detail::arg_type::narrow_character_type:
9299
330k
            SCN_VISIT(char);
9300
330k
        case detail::arg_type::wide_character_type:
9301
330k
            SCN_VISIT(wchar_t);
9302
330k
        case detail::arg_type::code_point_type:
9303
330k
            SCN_VISIT(char32_t);
9304
330k
        case detail::arg_type::float_type:
9305
330k
            SCN_VISIT(float);
9306
330k
        case detail::arg_type::double_type:
9307
330k
            SCN_VISIT(double);
9308
330k
        case detail::arg_type::ldouble_type:
9309
330k
            SCN_VISIT(long double);
9310
330k
        case detail::arg_type::narrow_string_view_type:
9311
330k
            SCN_VISIT(std::string_view);
9312
330k
        case detail::arg_type::narrow_string_type:
9313
330k
            SCN_VISIT(std::string);
9314
330k
        case detail::arg_type::wide_string_view_type:
9315
330k
            SCN_VISIT(std::wstring_view);
9316
330k
        case detail::arg_type::wide_string_type:
9317
330k
            SCN_VISIT(std::wstring);
9318
330k
        case detail::arg_type::narrow_regex_matches_type:
9319
330k
            SCN_VISIT(regex_matches);
9320
330k
        case detail::arg_type::wide_regex_matches_type:
9321
330k
            SCN_VISIT(wregex_matches);
9322
9323
330k
        case detail::arg_type::custom_type:
9324
330k
#if !SCN_DISABLE_TYPE_CUSTOM
9325
330k
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
330k
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
330k
            SCN_CLANG_POP
9341
330k
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9250
25.4k
{
9251
25.4k
#define SCN_VISIT(Type)                                                \
9252
25.4k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
25.4k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
25.4k
    }                                                                  \
9255
25.4k
    else {                                                             \
9256
25.4k
        return vis(monostate_val);                                     \
9257
25.4k
    }
9258
9259
25.4k
    monostate monostate_val{};
9260
9261
25.4k
    switch (get_arg_type(arg)) {
9262
4.23k
        case detail::arg_type::schar_type:
9263
4.23k
            SCN_VISIT(signed char);
9264
4.23k
        case detail::arg_type::short_type:
9265
4.23k
            SCN_VISIT(short);
9266
8.48k
        case detail::arg_type::int_type:
9267
8.48k
            SCN_VISIT(int);
9268
8.48k
        case detail::arg_type::long_type:
9269
8.48k
            SCN_VISIT(long);
9270
12.7k
        case detail::arg_type::llong_type:
9271
12.7k
            SCN_VISIT(long long);
9272
12.7k
        case detail::arg_type::int128_type:
9273
12.7k
#if SCN_HAS_INT128
9274
12.7k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
16.9k
        case detail::arg_type::uchar_type:
9279
16.9k
            SCN_VISIT(unsigned char);
9280
16.9k
        case detail::arg_type::ushort_type:
9281
16.9k
            SCN_VISIT(unsigned short);
9282
21.2k
        case detail::arg_type::uint_type:
9283
21.2k
            SCN_VISIT(unsigned);
9284
21.2k
        case detail::arg_type::ulong_type:
9285
21.2k
            SCN_VISIT(unsigned long);
9286
25.4k
        case detail::arg_type::ullong_type:
9287
25.4k
            SCN_VISIT(unsigned long long);
9288
25.4k
        case detail::arg_type::uint128_type:
9289
25.4k
#if SCN_HAS_INT128
9290
25.4k
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
25.4k
        case detail::arg_type::pointer_type:
9295
25.4k
            SCN_VISIT(void*);
9296
25.4k
        case detail::arg_type::bool_type:
9297
25.4k
            SCN_VISIT(bool);
9298
25.4k
        case detail::arg_type::narrow_character_type:
9299
25.4k
            SCN_VISIT(char);
9300
25.4k
        case detail::arg_type::wide_character_type:
9301
25.4k
            SCN_VISIT(wchar_t);
9302
25.4k
        case detail::arg_type::code_point_type:
9303
25.4k
            SCN_VISIT(char32_t);
9304
25.4k
        case detail::arg_type::float_type:
9305
25.4k
            SCN_VISIT(float);
9306
25.4k
        case detail::arg_type::double_type:
9307
25.4k
            SCN_VISIT(double);
9308
25.4k
        case detail::arg_type::ldouble_type:
9309
25.4k
            SCN_VISIT(long double);
9310
25.4k
        case detail::arg_type::narrow_string_view_type:
9311
25.4k
            SCN_VISIT(std::string_view);
9312
25.4k
        case detail::arg_type::narrow_string_type:
9313
25.4k
            SCN_VISIT(std::string);
9314
25.4k
        case detail::arg_type::wide_string_view_type:
9315
25.4k
            SCN_VISIT(std::wstring_view);
9316
25.4k
        case detail::arg_type::wide_string_type:
9317
25.4k
            SCN_VISIT(std::wstring);
9318
25.4k
        case detail::arg_type::narrow_regex_matches_type:
9319
25.4k
            SCN_VISIT(regex_matches);
9320
25.4k
        case detail::arg_type::wide_regex_matches_type:
9321
25.4k
            SCN_VISIT(wregex_matches);
9322
9323
25.4k
        case detail::arg_type::custom_type:
9324
25.4k
#if !SCN_DISABLE_TYPE_CUSTOM
9325
25.4k
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
25.4k
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
25.4k
            SCN_CLANG_POP
9341
25.4k
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
Unexecuted instantiation: decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9250
109k
{
9251
109k
#define SCN_VISIT(Type)                                                \
9252
109k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
109k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
109k
    }                                                                  \
9255
109k
    else {                                                             \
9256
109k
        return vis(monostate_val);                                     \
9257
109k
    }
9258
9259
109k
    monostate monostate_val{};
9260
9261
109k
    switch (get_arg_type(arg)) {
9262
18.2k
        case detail::arg_type::schar_type:
9263
18.2k
            SCN_VISIT(signed char);
9264
18.2k
        case detail::arg_type::short_type:
9265
18.2k
            SCN_VISIT(short);
9266
36.5k
        case detail::arg_type::int_type:
9267
36.5k
            SCN_VISIT(int);
9268
36.5k
        case detail::arg_type::long_type:
9269
36.5k
            SCN_VISIT(long);
9270
54.9k
        case detail::arg_type::llong_type:
9271
54.9k
            SCN_VISIT(long long);
9272
54.9k
        case detail::arg_type::int128_type:
9273
54.9k
#if SCN_HAS_INT128
9274
54.9k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
73.1k
        case detail::arg_type::uchar_type:
9279
73.1k
            SCN_VISIT(unsigned char);
9280
73.1k
        case detail::arg_type::ushort_type:
9281
73.1k
            SCN_VISIT(unsigned short);
9282
91.4k
        case detail::arg_type::uint_type:
9283
91.4k
            SCN_VISIT(unsigned);
9284
91.4k
        case detail::arg_type::ulong_type:
9285
91.4k
            SCN_VISIT(unsigned long);
9286
109k
        case detail::arg_type::ullong_type:
9287
109k
            SCN_VISIT(unsigned long long);
9288
109k
        case detail::arg_type::uint128_type:
9289
109k
#if SCN_HAS_INT128
9290
109k
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
109k
        case detail::arg_type::pointer_type:
9295
109k
            SCN_VISIT(void*);
9296
109k
        case detail::arg_type::bool_type:
9297
109k
            SCN_VISIT(bool);
9298
109k
        case detail::arg_type::narrow_character_type:
9299
109k
            SCN_VISIT(char);
9300
109k
        case detail::arg_type::wide_character_type:
9301
109k
            SCN_VISIT(wchar_t);
9302
109k
        case detail::arg_type::code_point_type:
9303
109k
            SCN_VISIT(char32_t);
9304
109k
        case detail::arg_type::float_type:
9305
109k
            SCN_VISIT(float);
9306
109k
        case detail::arg_type::double_type:
9307
109k
            SCN_VISIT(double);
9308
109k
        case detail::arg_type::ldouble_type:
9309
109k
            SCN_VISIT(long double);
9310
109k
        case detail::arg_type::narrow_string_view_type:
9311
109k
            SCN_VISIT(std::string_view);
9312
109k
        case detail::arg_type::narrow_string_type:
9313
109k
            SCN_VISIT(std::string);
9314
109k
        case detail::arg_type::wide_string_view_type:
9315
109k
            SCN_VISIT(std::wstring_view);
9316
109k
        case detail::arg_type::wide_string_type:
9317
109k
            SCN_VISIT(std::wstring);
9318
109k
        case detail::arg_type::narrow_regex_matches_type:
9319
109k
            SCN_VISIT(regex_matches);
9320
109k
        case detail::arg_type::wide_regex_matches_type:
9321
109k
            SCN_VISIT(wregex_matches);
9322
9323
109k
        case detail::arg_type::custom_type:
9324
109k
#if !SCN_DISABLE_TYPE_CUSTOM
9325
109k
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
109k
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
109k
            SCN_CLANG_POP
9341
109k
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9250
25.4k
{
9251
25.4k
#define SCN_VISIT(Type)                                                \
9252
25.4k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
25.4k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
25.4k
    }                                                                  \
9255
25.4k
    else {                                                             \
9256
25.4k
        return vis(monostate_val);                                     \
9257
25.4k
    }
9258
9259
25.4k
    monostate monostate_val{};
9260
9261
25.4k
    switch (get_arg_type(arg)) {
9262
4.23k
        case detail::arg_type::schar_type:
9263
4.23k
            SCN_VISIT(signed char);
9264
4.23k
        case detail::arg_type::short_type:
9265
4.23k
            SCN_VISIT(short);
9266
8.48k
        case detail::arg_type::int_type:
9267
8.48k
            SCN_VISIT(int);
9268
8.48k
        case detail::arg_type::long_type:
9269
8.48k
            SCN_VISIT(long);
9270
12.7k
        case detail::arg_type::llong_type:
9271
12.7k
            SCN_VISIT(long long);
9272
12.7k
        case detail::arg_type::int128_type:
9273
12.7k
#if SCN_HAS_INT128
9274
12.7k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
16.9k
        case detail::arg_type::uchar_type:
9279
16.9k
            SCN_VISIT(unsigned char);
9280
16.9k
        case detail::arg_type::ushort_type:
9281
16.9k
            SCN_VISIT(unsigned short);
9282
21.2k
        case detail::arg_type::uint_type:
9283
21.2k
            SCN_VISIT(unsigned);
9284
21.2k
        case detail::arg_type::ulong_type:
9285
21.2k
            SCN_VISIT(unsigned long);
9286
25.4k
        case detail::arg_type::ullong_type:
9287
25.4k
            SCN_VISIT(unsigned long long);
9288
25.4k
        case detail::arg_type::uint128_type:
9289
25.4k
#if SCN_HAS_INT128
9290
25.4k
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
25.4k
        case detail::arg_type::pointer_type:
9295
25.4k
            SCN_VISIT(void*);
9296
25.4k
        case detail::arg_type::bool_type:
9297
25.4k
            SCN_VISIT(bool);
9298
25.4k
        case detail::arg_type::narrow_character_type:
9299
25.4k
            SCN_VISIT(char);
9300
25.4k
        case detail::arg_type::wide_character_type:
9301
25.4k
            SCN_VISIT(wchar_t);
9302
25.4k
        case detail::arg_type::code_point_type:
9303
25.4k
            SCN_VISIT(char32_t);
9304
25.4k
        case detail::arg_type::float_type:
9305
25.4k
            SCN_VISIT(float);
9306
25.4k
        case detail::arg_type::double_type:
9307
25.4k
            SCN_VISIT(double);
9308
25.4k
        case detail::arg_type::ldouble_type:
9309
25.4k
            SCN_VISIT(long double);
9310
25.4k
        case detail::arg_type::narrow_string_view_type:
9311
25.4k
            SCN_VISIT(std::string_view);
9312
25.4k
        case detail::arg_type::narrow_string_type:
9313
25.4k
            SCN_VISIT(std::string);
9314
25.4k
        case detail::arg_type::wide_string_view_type:
9315
25.4k
            SCN_VISIT(std::wstring_view);
9316
25.4k
        case detail::arg_type::wide_string_type:
9317
25.4k
            SCN_VISIT(std::wstring);
9318
25.4k
        case detail::arg_type::narrow_regex_matches_type:
9319
25.4k
            SCN_VISIT(regex_matches);
9320
25.4k
        case detail::arg_type::wide_regex_matches_type:
9321
25.4k
            SCN_VISIT(wregex_matches);
9322
9323
25.4k
        case detail::arg_type::custom_type:
9324
25.4k
#if !SCN_DISABLE_TYPE_CUSTOM
9325
25.4k
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
25.4k
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
25.4k
            SCN_CLANG_POP
9341
25.4k
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
decltype(auto) scn::v4::detail::visit_impl<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >, scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&, scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&)
Line
Count
Source
9250
109k
{
9251
109k
#define SCN_VISIT(Type)                                                \
9252
109k
    if constexpr (!detail::is_type_disabled<Type>) {                   \
9253
109k
        return vis(*static_cast<Type*>(get_arg_value(arg).ref_value)); \
9254
109k
    }                                                                  \
9255
109k
    else {                                                             \
9256
109k
        return vis(monostate_val);                                     \
9257
109k
    }
9258
9259
109k
    monostate monostate_val{};
9260
9261
109k
    switch (get_arg_type(arg)) {
9262
18.2k
        case detail::arg_type::schar_type:
9263
18.2k
            SCN_VISIT(signed char);
9264
18.2k
        case detail::arg_type::short_type:
9265
18.2k
            SCN_VISIT(short);
9266
36.5k
        case detail::arg_type::int_type:
9267
36.5k
            SCN_VISIT(int);
9268
36.5k
        case detail::arg_type::long_type:
9269
36.5k
            SCN_VISIT(long);
9270
54.9k
        case detail::arg_type::llong_type:
9271
54.9k
            SCN_VISIT(long long);
9272
54.9k
        case detail::arg_type::int128_type:
9273
54.9k
#if SCN_HAS_INT128
9274
54.9k
            SCN_VISIT(int128)
9275
#else
9276
            return vis(monostate_val);
9277
#endif
9278
73.1k
        case detail::arg_type::uchar_type:
9279
73.1k
            SCN_VISIT(unsigned char);
9280
73.1k
        case detail::arg_type::ushort_type:
9281
73.1k
            SCN_VISIT(unsigned short);
9282
91.4k
        case detail::arg_type::uint_type:
9283
91.4k
            SCN_VISIT(unsigned);
9284
91.4k
        case detail::arg_type::ulong_type:
9285
91.4k
            SCN_VISIT(unsigned long);
9286
109k
        case detail::arg_type::ullong_type:
9287
109k
            SCN_VISIT(unsigned long long);
9288
109k
        case detail::arg_type::uint128_type:
9289
109k
#if SCN_HAS_INT128
9290
109k
            SCN_VISIT(uint128)
9291
#else
9292
            return vis(monostate_val);
9293
#endif
9294
109k
        case detail::arg_type::pointer_type:
9295
109k
            SCN_VISIT(void*);
9296
109k
        case detail::arg_type::bool_type:
9297
109k
            SCN_VISIT(bool);
9298
109k
        case detail::arg_type::narrow_character_type:
9299
109k
            SCN_VISIT(char);
9300
109k
        case detail::arg_type::wide_character_type:
9301
109k
            SCN_VISIT(wchar_t);
9302
109k
        case detail::arg_type::code_point_type:
9303
109k
            SCN_VISIT(char32_t);
9304
109k
        case detail::arg_type::float_type:
9305
109k
            SCN_VISIT(float);
9306
109k
        case detail::arg_type::double_type:
9307
109k
            SCN_VISIT(double);
9308
109k
        case detail::arg_type::ldouble_type:
9309
109k
            SCN_VISIT(long double);
9310
109k
        case detail::arg_type::narrow_string_view_type:
9311
109k
            SCN_VISIT(std::string_view);
9312
109k
        case detail::arg_type::narrow_string_type:
9313
109k
            SCN_VISIT(std::string);
9314
109k
        case detail::arg_type::wide_string_view_type:
9315
109k
            SCN_VISIT(std::wstring_view);
9316
109k
        case detail::arg_type::wide_string_type:
9317
109k
            SCN_VISIT(std::wstring);
9318
109k
        case detail::arg_type::narrow_regex_matches_type:
9319
109k
            SCN_VISIT(regex_matches);
9320
109k
        case detail::arg_type::wide_regex_matches_type:
9321
109k
            SCN_VISIT(wregex_matches);
9322
9323
109k
        case detail::arg_type::custom_type:
9324
109k
#if !SCN_DISABLE_TYPE_CUSTOM
9325
109k
            return vis(typename basic_scan_arg<Ctx>::handle(
9326
109k
                get_arg_value(arg).custom_value));
9327
#else
9328
            return vis(monostate_val);
9329
#endif
9330
9331
0
            SCN_CLANG_PUSH
9332
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
9333
9334
0
            SCN_UNLIKELY_ATTR
9335
0
        case detail::arg_type::none_type:
9336
0
        default: {
9337
0
            return vis(monostate_val);
9338
0
        }
9339
9340
109k
            SCN_CLANG_POP
9341
109k
    }
9342
9343
0
#undef SCN_VISIT
9344
9345
0
    SCN_ENSURE(false);
9346
0
    SCN_UNREACHABLE;
9347
0
}
9348
9349
}  // namespace detail
9350
9351
template <typename Visitor, typename Ctx>
9352
[[deprecated("Use basic_scan_arg::visit instead")]] constexpr decltype(auto)
9353
visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
9354
{
9355
    return detail::visit_impl(SCN_FWD(vis), arg);
9356
}
9357
9358
template <typename Context>
9359
template <typename Visitor>
9360
constexpr decltype(auto) basic_scan_arg<Context>::visit(Visitor&& vis)
9361
1.12M
{
9362
1.12M
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
1.12M
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9361
95.4k
{
9362
95.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
95.4k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9361
94.1k
{
9362
94.1k
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
94.1k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, char> >&&)
Line
Count
Source
9361
330k
{
9362
330k
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
330k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, char> >&&)
Line
Count
Source
9361
330k
{
9362
330k
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
330k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9361
25.4k
{
9362
25.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
25.4k
}
Unexecuted instantiation: decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::custom_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> >&&)
Line
Count
Source
9361
109k
{
9362
109k
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
109k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::default_arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9361
25.4k
{
9362
25.4k
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
25.4k
}
decltype(auto) scn::v4::basic_scan_arg<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >::visit<scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> > >(scn::v4::impl::arg_reader<scn::v4::basic_scan_context<scn::v4::detail::buffer_range_tag, wchar_t> >&&)
Line
Count
Source
9361
109k
{
9362
109k
    return detail::visit_impl(SCN_FWD(vis), *this);
9363
109k
}
9364
9365
template <typename Context>
9366
template <typename R, typename Visitor>
9367
constexpr R basic_scan_arg<Context>::visit(Visitor&& vis)
9368
{
9369
    return detail::visit_impl(SCN_FWD(vis), *this);
9370
}
9371
9372
/////////////////////////////////////////////////////////////////
9373
// vscan
9374
/////////////////////////////////////////////////////////////////
9375
9376
/**
9377
 * \defgroup vscan Type-erased scanning API
9378
 *
9379
 * \brief Lower-level scanning API with type-erased arguments
9380
 */
9381
9382
namespace detail {
9383
template <typename Source>
9384
using scan_result_value_type =
9385
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
9386
                       std::FILE*,
9387
                       borrowed_tail_subrange_t<Source>>;
9388
}
9389
9390
/**
9391
 * Result type returned by `vscan`.
9392
 *
9393
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
9394
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
9395
 *
9396
 * \ingroup vscan
9397
 */
9398
template <typename Source>
9399
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
9400
9401
namespace detail {
9402
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
9403
                                         std::string_view format,
9404
                                         scan_args args);
9405
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
9406
                                         std::string_view format,
9407
                                         scan_args args);
9408
9409
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
9410
                                         std::wstring_view format,
9411
                                         wscan_args args);
9412
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
9413
                                         std::wstring_view format,
9414
                                         wscan_args args);
9415
9416
#if !SCN_DISABLE_LOCALE
9417
template <typename Locale>
9418
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9419
                                                   std::string_view source,
9420
                                                   std::string_view format,
9421
                                                   scan_args args);
9422
template <typename Locale>
9423
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9424
                                                   scan_buffer& source,
9425
                                                   std::string_view format,
9426
                                                   scan_args args);
9427
9428
template <typename Locale>
9429
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9430
                                                   std::wstring_view source,
9431
                                                   std::wstring_view format,
9432
                                                   wscan_args args);
9433
template <typename Locale>
9434
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
9435
                                                   wscan_buffer& source,
9436
                                                   std::wstring_view format,
9437
                                                   wscan_args args);
9438
#endif
9439
9440
scan_expected<std::ptrdiff_t> vscan_value_impl(
9441
    std::string_view source,
9442
    basic_scan_arg<scan_context> arg);
9443
scan_expected<std::ptrdiff_t> vscan_value_impl(
9444
    scan_buffer& source,
9445
    basic_scan_arg<scan_context> arg);
9446
9447
scan_expected<std::ptrdiff_t> vscan_value_impl(
9448
    std::wstring_view source,
9449
    basic_scan_arg<wscan_context> arg);
9450
scan_expected<std::ptrdiff_t> vscan_value_impl(
9451
    wscan_buffer& source,
9452
    basic_scan_arg<wscan_context> arg);
9453
9454
template <typename Range, typename CharT>
9455
auto vscan_generic(Range&& range,
9456
                   std::basic_string_view<CharT> format,
9457
                   basic_scan_args<detail::default_context<CharT>> args)
9458
    -> vscan_result<Range>
9459
594k
{
9460
594k
    auto buffer = make_scan_buffer(range);
9461
9462
594k
    auto result = vscan_impl(buffer, format, args);
9463
594k
    if (SCN_UNLIKELY(!result)) {
9464
247k
        return unexpected(result.error());
9465
247k
    }
9466
346k
    return make_vscan_result_range(SCN_FWD(range), *result);
9467
594k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9459
209k
{
9460
209k
    auto buffer = make_scan_buffer(range);
9461
9462
209k
    auto result = vscan_impl(buffer, format, args);
9463
209k
    if (SCN_UNLIKELY(!result)) {
9464
41.2k
        return unexpected(result.error());
9465
41.2k
    }
9466
167k
    return make_vscan_result_range(SCN_FWD(range), *result);
9467
209k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9459
209k
{
9460
209k
    auto buffer = make_scan_buffer(range);
9461
9462
209k
    auto result = vscan_impl(buffer, format, args);
9463
209k
    if (SCN_UNLIKELY(!result)) {
9464
41.2k
        return unexpected(result.error());
9465
41.2k
    }
9466
167k
    return make_vscan_result_range(SCN_FWD(range), *result);
9467
209k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Line
Count
Source
9459
88.1k
{
9460
88.1k
    auto buffer = make_scan_buffer(range);
9461
9462
88.1k
    auto result = vscan_impl(buffer, format, args);
9463
88.1k
    if (SCN_UNLIKELY(!result)) {
9464
82.5k
        return unexpected(result.error());
9465
82.5k
    }
9466
5.56k
    return make_vscan_result_range(SCN_FWD(range), *result);
9467
88.1k
}
_ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESV_EEEE
Line
Count
Source
9459
88.1k
{
9460
88.1k
    auto buffer = make_scan_buffer(range);
9461
9462
88.1k
    auto result = vscan_impl(buffer, format, args);
9463
88.1k
    if (SCN_UNLIKELY(!result)) {
9464
82.5k
        return unexpected(result.error());
9465
82.5k
    }
9466
5.56k
    return make_vscan_result_range(SCN_FWD(range), *result);
9467
88.1k
}
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericIRNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS3_17basic_string_viewIT0_NS5_ISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESQ_EEEE
Unexecuted instantiation: _ZN3scn2v46detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINS1_17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS1_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIT0_NSD_11char_traitsISS_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESS_EEEE
9468
9469
template <typename Locale, typename Range, typename CharT>
9470
auto vscan_localized_generic(
9471
    const Locale& loc,
9472
    Range&& range,
9473
    std::basic_string_view<CharT> format,
9474
    basic_scan_args<detail::default_context<CharT>> args) -> vscan_result<Range>
9475
594k
{
9476
594k
#if !SCN_DISABLE_LOCALE
9477
594k
    auto buffer = detail::make_scan_buffer(range);
9478
9479
594k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9480
594k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9481
594k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9482
9483
594k
    if (SCN_UNLIKELY(!result)) {
9484
247k
        return unexpected(result.error());
9485
247k
    }
9486
346k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9487
#else
9488
    static_assert(dependent_false<Locale>::value,
9489
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9490
9491
    return {};
9492
#endif
9493
594k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9475
209k
{
9476
209k
#if !SCN_DISABLE_LOCALE
9477
209k
    auto buffer = detail::make_scan_buffer(range);
9478
9479
209k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9480
209k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9481
209k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9482
9483
209k
    if (SCN_UNLIKELY(!result)) {
9484
41.2k
        return unexpected(result.error());
9485
41.2k
    }
9486
167k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9487
#else
9488
    static_assert(dependent_false<Locale>::value,
9489
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9490
9491
    return {};
9492
#endif
9493
209k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9475
209k
{
9476
209k
#if !SCN_DISABLE_LOCALE
9477
209k
    auto buffer = detail::make_scan_buffer(range);
9478
9479
209k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9480
209k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9481
209k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9482
9483
209k
    if (SCN_UNLIKELY(!result)) {
9484
41.2k
        return unexpected(result.error());
9485
41.2k
    }
9486
167k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9487
#else
9488
    static_assert(dependent_false<Locale>::value,
9489
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9490
9491
    return {};
9492
#endif
9493
209k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESU_EEEE
Line
Count
Source
9475
88.1k
{
9476
88.1k
#if !SCN_DISABLE_LOCALE
9477
88.1k
    auto buffer = detail::make_scan_buffer(range);
9478
9479
88.1k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9480
88.1k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9481
88.1k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9482
9483
88.1k
    if (SCN_UNLIKELY(!result)) {
9484
82.5k
        return unexpected(result.error());
9485
82.5k
    }
9486
5.56k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9487
#else
9488
    static_assert(dependent_false<Locale>::value,
9489
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9490
9491
    return {};
9492
#endif
9493
88.1k
}
_ZN3scn2v46detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS1_16buffer_range_tagESZ_EEEE
Line
Count
Source
9475
88.1k
{
9476
88.1k
#if !SCN_DISABLE_LOCALE
9477
88.1k
    auto buffer = detail::make_scan_buffer(range);
9478
9479
88.1k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
9480
88.1k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
9481
88.1k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
9482
9483
88.1k
    if (SCN_UNLIKELY(!result)) {
9484
82.5k
        return unexpected(result.error());
9485
82.5k
    }
9486
5.56k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9487
#else
9488
    static_assert(dependent_false<Locale>::value,
9489
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
9490
9491
    return {};
9492
#endif
9493
88.1k
}
9494
9495
template <typename Range, typename CharT>
9496
auto vscan_value_generic(Range&& range,
9497
                         basic_scan_arg<detail::default_context<CharT>> arg)
9498
    -> vscan_result<Range>
9499
80.1k
{
9500
80.1k
    auto buffer = detail::make_scan_buffer(range);
9501
9502
80.1k
    auto result = detail::vscan_value_impl(buffer, arg);
9503
80.1k
    if (SCN_UNLIKELY(!result)) {
9504
24.7k
        return unexpected(result.error());
9505
24.7k
    }
9506
55.4k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9507
80.1k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9499
31.8k
{
9500
31.8k
    auto buffer = detail::make_scan_buffer(range);
9501
9502
31.8k
    auto result = detail::vscan_value_impl(buffer, arg);
9503
31.8k
    if (SCN_UNLIKELY(!result)) {
9504
4.12k
        return unexpected(result.error());
9505
4.12k
    }
9506
27.6k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9507
31.8k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9499
31.3k
{
9500
31.3k
    auto buffer = detail::make_scan_buffer(range);
9501
9502
31.3k
    auto result = detail::vscan_value_impl(buffer, arg);
9503
31.3k
    if (SCN_UNLIKELY(!result)) {
9504
4.12k
        return unexpected(result.error());
9505
4.12k
    }
9506
27.2k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9507
31.3k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9499
8.48k
{
9500
8.48k
    auto buffer = detail::make_scan_buffer(range);
9501
9502
8.48k
    auto result = detail::vscan_value_impl(buffer, arg);
9503
8.48k
    if (SCN_UNLIKELY(!result)) {
9504
8.25k
        return unexpected(result.error());
9505
8.25k
    }
9506
230
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9507
8.48k
}
_ZN3scn2v46detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextINS1_16buffer_range_tagET0_EEEE
Line
Count
Source
9499
8.48k
{
9500
8.48k
    auto buffer = detail::make_scan_buffer(range);
9501
9502
8.48k
    auto result = detail::vscan_value_impl(buffer, arg);
9503
8.48k
    if (SCN_UNLIKELY(!result)) {
9504
8.25k
        return unexpected(result.error());
9505
8.25k
    }
9506
230
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
9507
8.48k
}
9508
}  // namespace detail
9509
9510
SCN_GCC_PUSH
9511
SCN_GCC_IGNORE("-Wnoexcept")
9512
9513
/**
9514
 * Perform actual scanning from `source`, according to `format`, into the
9515
 * type-erased arguments at `args`. Called by `scan`.
9516
 *
9517
 * \ingroup vscan
9518
 */
9519
template <typename Source>
9520
auto vscan(Source&& source, std::string_view format, scan_args args)
9521
    -> vscan_result<Source>
9522
418k
{
9523
418k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9524
418k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9522
209k
{
9523
209k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9524
209k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9522
209k
{
9523
209k
    return detail::vscan_generic(SCN_FWD(source), format, args);
9524
209k
}
Unexecuted instantiation: _ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS2_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESJ_NS6_22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEEEOSF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINS6_16buffer_range_tagEcEEEE
Unexecuted instantiation: _ZN3scn2v45vscanIRNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS2_17basic_string_viewIcS5_EENS0_15basic_scan_argsINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
9525
9526
/**
9527
 * Perform actual scanning from `source`, according to `format`, into the
9528
 * type-erased arguments at `args`, using `loc`, if requested. Called by
9529
 * `scan`.
9530
 *
9531
 * \ingroup locale
9532
 */
9533
template <typename Source,
9534
          typename Locale,
9535
          typename = std::void_t<decltype(Locale::classic())>>
9536
auto vscan(const Locale& loc,
9537
           Source&& source,
9538
           std::string_view format,
9539
           scan_args args) -> vscan_result<Source>
9540
418k
{
9541
418k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9542
418k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSI_16buffer_range_tagEcEEEE
Line
Count
Source
9540
209k
{
9541
209k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9542
209k
}
_ZN3scn2v45vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextINSN_16buffer_range_tagEcEEEE
Line
Count
Source
9540
209k
{
9541
209k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
9542
209k
}
9543
9544
/**
9545
 * Perform actual scanning from `source` into the type-erased argument at
9546
 * `arg`. Called by `scan_value`.
9547
 *
9548
 * \ingroup vscan
9549
 */
9550
template <typename Source>
9551
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
9552
    -> vscan_result<Source>
9553
63.1k
{
9554
63.1k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9555
63.1k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextINSH_16buffer_range_tagEcEEEE
Line
Count
Source
9553
31.8k
{
9554
31.8k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9555
31.8k
}
_ZN3scn2v411vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextINSM_16buffer_range_tagEcEEEE
Line
Count
Source
9553
31.3k
{
9554
31.3k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
9555
31.3k
}
9556
9557
/**
9558
 * Perform actual scanning from `stdin`, according to `format`, into the
9559
 * type-erased arguments at `args`. Called by `input`.
9560
 *
9561
 * \ingroup vscan
9562
 */
9563
scan_expected<void> vinput(std::string_view format, scan_args args);
9564
9565
namespace detail {
9566
template <typename T>
9567
auto scan_int_impl(std::string_view source, T& value, int base)
9568
    -> scan_expected<std::string_view::iterator>;
9569
9570
template <typename T>
9571
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
9572
9573
#if !SCN_DISABLE_TYPE_SCHAR
9574
extern template auto scan_int_impl(std::string_view source,
9575
                                   signed char& value,
9576
                                   int base)
9577
    -> scan_expected<std::string_view::iterator>;
9578
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9579
    -> signed char;
9580
#endif
9581
#if !SCN_DISABLE_TYPE_SHORT
9582
extern template auto scan_int_impl(std::string_view source,
9583
                                   short& value,
9584
                                   int base)
9585
    -> scan_expected<std::string_view::iterator>;
9586
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
9587
#endif
9588
#if !SCN_DISABLE_TYPE_INT
9589
extern template auto scan_int_impl(std::string_view source,
9590
                                   int& value,
9591
                                   int base)
9592
    -> scan_expected<std::string_view::iterator>;
9593
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
9594
#endif
9595
#if !SCN_DISABLE_TYPE_LONG
9596
extern template auto scan_int_impl(std::string_view source,
9597
                                   long& value,
9598
                                   int base)
9599
    -> scan_expected<std::string_view::iterator>;
9600
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
9601
#endif
9602
#if !SCN_DISABLE_TYPE_LONG_LONG
9603
extern template auto scan_int_impl(std::string_view source,
9604
                                   long long& value,
9605
                                   int base)
9606
    -> scan_expected<std::string_view::iterator>;
9607
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9608
    -> long long;
9609
#endif
9610
#if !SCN_DISABLE_TYPE_UCHAR
9611
extern template auto scan_int_impl(std::string_view source,
9612
                                   unsigned char& value,
9613
                                   int base)
9614
    -> scan_expected<std::string_view::iterator>;
9615
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9616
    -> unsigned char;
9617
#endif
9618
#if !SCN_DISABLE_TYPE_USHORT
9619
extern template auto scan_int_impl(std::string_view source,
9620
                                   unsigned short& value,
9621
                                   int base)
9622
    -> scan_expected<std::string_view::iterator>;
9623
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9624
    -> unsigned short;
9625
#endif
9626
#if !SCN_DISABLE_TYPE_UINT
9627
extern template auto scan_int_impl(std::string_view source,
9628
                                   unsigned int& value,
9629
                                   int base)
9630
    -> scan_expected<std::string_view::iterator>;
9631
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9632
    -> unsigned int;
9633
#endif
9634
#if !SCN_DISABLE_TYPE_ULONG
9635
extern template auto scan_int_impl(std::string_view source,
9636
                                   unsigned long& value,
9637
                                   int base)
9638
    -> scan_expected<std::string_view::iterator>;
9639
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9640
    -> unsigned long;
9641
#endif
9642
#if !SCN_DISABLE_TYPE_ULONG_LONG
9643
extern template auto scan_int_impl(std::string_view source,
9644
                                   unsigned long long& value,
9645
                                   int base)
9646
    -> scan_expected<std::string_view::iterator>;
9647
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
9648
    -> unsigned long long;
9649
#endif
9650
9651
#if SCN_HAS_INT128
9652
9653
#if !SCN_DISABLE_TYPE_INT128
9654
extern template auto scan_int_impl(std::string_view source,
9655
                                   int128& value,
9656
                                   int base)
9657
    -> scan_expected<std::string_view::iterator>;
9658
#endif
9659
9660
#if !SCN_DISABLE_TYPE_UINT128
9661
extern template auto scan_int_impl(std::string_view source,
9662
                                   uint128& value,
9663
                                   int base)
9664
    -> scan_expected<std::string_view::iterator>;
9665
#endif
9666
9667
#endif  // SCN_HAS_INT128
9668
9669
}  // namespace detail
9670
9671
SCN_GCC_POP  // -Wnoexcept
9672
9673
    // dummy namespace to reset formatting
9674
    namespace detail
9675
{
9676
}
9677
9678
/////////////////////////////////////////////////////////////////
9679
// scan
9680
/////////////////////////////////////////////////////////////////
9681
9682
/**
9683
 * The return type of `scan`, based on the type of the source, and the
9684
 * types of the scanned arguments.
9685
 */
9686
template <typename Source, typename... Args>
9687
using scan_result_type =
9688
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
9689
9690
/**
9691
 * If `in` contains a successful result as returned from `vscan`,
9692
 * the range contained in `out` is set to `*in`.
9693
 * Otherwise, `unexpected(in.error())` is stored in `out`.
9694
 */
9695
template <typename Result,
9696
          typename Range,
9697
          std::enable_if_t<std::conjunction_v<
9698
              detail::is_specialization_of<Result, scan_result>,
9699
              std::is_same<typename Result::range_type, Range>>>* = nullptr>
9700
void fill_scan_result(scan_expected<Result>& out, scan_expected<Range>&& in)
9701
1.26M
{
9702
1.26M
    if (SCN_UNLIKELY(!in)) {
9703
520k
        out = unexpected(in.error());
9704
520k
    }
9705
749k
    else {
9706
749k
        out->set_range(SCN_MOVE(*in));
9707
749k
    }
9708
1.26M
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJaEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
73.2k
{
9702
73.2k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
58.7k
    else {
9706
58.7k
        out->set_range(SCN_MOVE(*in));
9707
58.7k
    }
9708
73.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJhEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
64.2k
{
9702
64.2k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
49.7k
    else {
9706
49.7k
        out->set_range(SCN_MOVE(*in));
9707
49.7k
    }
9708
64.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
85.6k
{
9702
85.6k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
71.1k
    else {
9706
71.1k
        out->set_range(SCN_MOVE(*in));
9707
71.1k
    }
9708
85.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
69.6k
{
9702
69.6k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
55.2k
    else {
9706
55.2k
        out->set_range(SCN_MOVE(*in));
9707
55.2k
    }
9708
69.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJxEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
87.1k
{
9702
87.1k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
72.6k
    else {
9706
72.6k
        out->set_range(SCN_MOVE(*in));
9707
72.6k
    }
9708
87.1k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJyEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
70.4k
{
9702
70.4k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
56.0k
    else {
9706
56.0k
        out->set_range(SCN_MOVE(*in));
9707
56.0k
    }
9708
70.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJaEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
73.2k
{
9702
73.2k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
58.7k
    else {
9706
58.7k
        out->set_range(SCN_MOVE(*in));
9707
58.7k
    }
9708
73.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJhEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
64.2k
{
9702
64.2k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
49.7k
    else {
9706
49.7k
        out->set_range(SCN_MOVE(*in));
9707
49.7k
    }
9708
64.2k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJiEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
85.1k
{
9702
85.1k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
70.7k
    else {
9706
70.7k
        out->set_range(SCN_MOVE(*in));
9707
70.7k
    }
9708
85.1k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJjEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
69.7k
{
9702
69.7k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
55.2k
    else {
9706
55.2k
        out->set_range(SCN_MOVE(*in));
9707
55.2k
    }
9708
69.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJxEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
86.6k
{
9702
86.6k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
72.1k
    else {
9706
72.1k
        out->set_range(SCN_MOVE(*in));
9707
72.1k
    }
9708
86.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEJyEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
70.4k
{
9702
70.4k
    if (SCN_UNLIKELY(!in)) {
9703
14.4k
        out = unexpected(in.error());
9704
14.4k
    }
9705
56.0k
    else {
9706
56.0k
        out->set_range(SCN_MOVE(*in));
9707
56.0k
    }
9708
70.4k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJaEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
30.7k
{
9702
30.7k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.84k
    else {
9706
1.84k
        out->set_range(SCN_MOVE(*in));
9707
1.84k
    }
9708
30.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJhEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
30.6k
{
9702
30.6k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.76k
    else {
9706
1.76k
        out->set_range(SCN_MOVE(*in));
9707
1.76k
    }
9708
30.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJiEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
30.8k
{
9702
30.8k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.93k
    else {
9706
1.93k
        out->set_range(SCN_MOVE(*in));
9707
1.93k
    }
9708
30.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJjEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
30.7k
{
9702
30.7k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.83k
    else {
9706
1.83k
        out->set_range(SCN_MOVE(*in));
9707
1.83k
    }
9708
30.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJxEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
30.9k
{
9702
30.9k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
2.05k
    else {
9706
2.05k
        out->set_range(SCN_MOVE(*in));
9707
2.05k
    }
9708
30.9k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJyEEES9_TnPNSt3__19enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSB_7is_sameINSF_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISF_EEONSR_ISL_EE
Line
Count
Source
9701
30.8k
{
9702
30.8k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.92k
    else {
9706
1.92k
        out->set_range(SCN_MOVE(*in));
9707
1.92k
    }
9708
30.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJaEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
30.7k
{
9702
30.7k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.84k
    else {
9706
1.84k
        out->set_range(SCN_MOVE(*in));
9707
1.84k
    }
9708
30.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJhEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
30.6k
{
9702
30.6k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.76k
    else {
9706
1.76k
        out->set_range(SCN_MOVE(*in));
9707
1.76k
    }
9708
30.6k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJiEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
30.8k
{
9702
30.8k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.93k
    else {
9706
1.93k
        out->set_range(SCN_MOVE(*in));
9707
1.93k
    }
9708
30.8k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJjEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
30.7k
{
9702
30.7k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.83k
    else {
9706
1.83k
        out->set_range(SCN_MOVE(*in));
9707
1.83k
    }
9708
30.7k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJxEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
30.9k
{
9702
30.9k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
2.05k
    else {
9706
2.05k
        out->set_range(SCN_MOVE(*in));
9707
2.05k
    }
9708
30.9k
}
_ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEJyEEESF_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSK_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISK_EEONSW_ISQ_EE
Line
Count
Source
9701
30.8k
{
9702
30.8k
    if (SCN_UNLIKELY(!in)) {
9703
28.8k
        out = unexpected(in.error());
9704
28.8k
    }
9705
1.92k
    else {
9706
1.92k
        out->set_range(SCN_MOVE(*in));
9707
1.92k
    }
9708
30.8k
}
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINSt3__111__wrap_iterIPcEESA_EEJdEEESB_TnPNS7_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENS7_7is_sameINSG_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISG_EEONSS_ISM_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEJNSt3__112basic_stringIcNSD_11char_traitsIcEENSD_9allocatorIcEEEEEEESC_TnPNSD_9enable_ifIXsr3stdE13conjunction_vINS7_25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSD_7is_sameINSN_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISN_EEONSZ_IST_EE
Unexecuted instantiation: _ZN3scn2v416fill_scan_resultINS0_11scan_resultINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEJNSt3__112basic_stringIcNSA_11char_traitsIcEENSA_9allocatorIcEEEEEEES9_TnPNSA_9enable_ifIXsr3stdE13conjunction_vINS0_6detail25is_specialization_of_implIu11__remove_cvIu20__remove_reference_tIT_EES2_EENSA_7is_sameINSL_10range_typeET0_EEEEvE4typeELPv0EEEvRNS0_13scan_expectedISL_EEONSX_ISR_EE
9709
9710
/**
9711
 * Returns an empty result type for a source of type `Source`, and arguments of
9712
 * type `Args...`.
9713
 */
9714
template <typename Source, typename... Args>
9715
auto make_scan_result()
9716
1.26M
{
9717
1.26M
    return scan_result_type<Source, Args...>();
9718
1.26M
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>()
Line
Count
Source
9716
73.2k
{
9717
73.2k
    return scan_result_type<Source, Args...>();
9718
73.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>()
Line
Count
Source
9716
64.2k
{
9717
64.2k
    return scan_result_type<Source, Args...>();
9718
64.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, int>()
Line
Count
Source
9716
85.6k
{
9717
85.6k
    return scan_result_type<Source, Args...>();
9718
85.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>()
Line
Count
Source
9716
69.6k
{
9717
69.6k
    return scan_result_type<Source, Args...>();
9718
69.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, long long>()
Line
Count
Source
9716
87.1k
{
9717
87.1k
    return scan_result_type<Source, Args...>();
9718
87.1k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>()
Line
Count
Source
9716
70.4k
{
9717
70.4k
    return scan_result_type<Source, Args...>();
9718
70.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>()
Line
Count
Source
9716
73.2k
{
9717
73.2k
    return scan_result_type<Source, Args...>();
9718
73.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>()
Line
Count
Source
9716
64.2k
{
9717
64.2k
    return scan_result_type<Source, Args...>();
9718
64.2k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>()
Line
Count
Source
9716
85.1k
{
9717
85.1k
    return scan_result_type<Source, Args...>();
9718
85.1k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>()
Line
Count
Source
9716
69.7k
{
9717
69.7k
    return scan_result_type<Source, Args...>();
9718
69.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>()
Line
Count
Source
9716
86.6k
{
9717
86.6k
    return scan_result_type<Source, Args...>();
9718
86.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>()
Line
Count
Source
9716
70.4k
{
9717
70.4k
    return scan_result_type<Source, Args...>();
9718
70.4k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>()
Line
Count
Source
9716
30.7k
{
9717
30.7k
    return scan_result_type<Source, Args...>();
9718
30.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>()
Line
Count
Source
9716
30.6k
{
9717
30.6k
    return scan_result_type<Source, Args...>();
9718
30.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>()
Line
Count
Source
9716
30.8k
{
9717
30.8k
    return scan_result_type<Source, Args...>();
9718
30.8k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>()
Line
Count
Source
9716
30.7k
{
9717
30.7k
    return scan_result_type<Source, Args...>();
9718
30.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>()
Line
Count
Source
9716
30.9k
{
9717
30.9k
    return scan_result_type<Source, Args...>();
9718
30.9k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>()
Line
Count
Source
9716
30.8k
{
9717
30.8k
    return scan_result_type<Source, Args...>();
9718
30.8k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>()
Line
Count
Source
9716
30.7k
{
9717
30.7k
    return scan_result_type<Source, Args...>();
9718
30.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>()
Line
Count
Source
9716
30.6k
{
9717
30.6k
    return scan_result_type<Source, Args...>();
9718
30.6k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>()
Line
Count
Source
9716
30.8k
{
9717
30.8k
    return scan_result_type<Source, Args...>();
9718
30.8k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>()
Line
Count
Source
9716
30.7k
{
9717
30.7k
    return scan_result_type<Source, Args...>();
9718
30.7k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>()
Line
Count
Source
9716
30.9k
{
9717
30.9k
    return scan_result_type<Source, Args...>();
9718
30.9k
}
auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>()
Line
Count
Source
9716
30.8k
{
9717
30.8k
    return scan_result_type<Source, Args...>();
9718
30.8k
}
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<char>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, double>()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<scn::v4::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v4::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: auto scn::v4::make_scan_result<scn::v4::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
9719
9720
template <typename Source, typename... Args>
9721
auto make_scan_result(std::tuple<Args...>&& initial_values)
9722
{
9723
    using type = scan_result_type<Source, Args...>;
9724
    using subrange_type = typename type::value_type::range_type;
9725
    return type{std::in_place, subrange_type{}, SCN_MOVE(initial_values)};
9726
}
9727
9728
/**
9729
 * \defgroup scan Basic scanning API
9730
 *
9731
 * \brief The core public-facing interface of the library
9732
 *
9733
 * The following functions use a format string syntax similar to that of
9734
 * `std::format`. See more at \ref format-string.
9735
 *
9736
 * When these functions take a `source` as input, it must
9737
 * model the `scannable_source` concept. See more at \ref scannable.
9738
 */
9739
9740
/**
9741
 * Scans `Args...` from `source`, according to the
9742
 * specifications given in the format string (`format`).
9743
 * Returns the resulting values in an object of type `scan_result`,
9744
 * alongside a `subrange` pointing to the unused input.
9745
 *
9746
 * Example:
9747
 * \code{.cpp}
9748
 * if (auto result = scn::scan<int>("123", "{}"))
9749
 *     int value = result->value();
9750
 * \endcode
9751
 *
9752
 * \ingroup scan
9753
 */
9754
template <typename... Args,
9755
          typename Source,
9756
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9757
SCN_NODISCARD auto scan(Source&& source,
9758
                        scan_format_string<Source, Args...> format)
9759
    -> scan_result_type<Source, Args...>
9760
418k
{
9761
418k
    auto result = make_scan_result<Source, Args...>();
9762
418k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
418k
                                   make_scan_args(result->values())));
9764
418k
    return result;
9765
418k
}
_ZN3scn2v44scanIJaENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9760
33.9k
{
9761
33.9k
    auto result = make_scan_result<Source, Args...>();
9762
33.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
33.9k
                                   make_scan_args(result->values())));
9764
33.9k
    return result;
9765
33.9k
}
_ZN3scn2v44scanIJhENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9760
29.9k
{
9761
29.9k
    auto result = make_scan_result<Source, Args...>();
9762
29.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
29.9k
                                   make_scan_args(result->values())));
9764
29.9k
    return result;
9765
29.9k
}
_ZN3scn2v44scanIJiENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9760
39.7k
{
9761
39.7k
    auto result = make_scan_result<Source, Args...>();
9762
39.7k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
39.7k
                                   make_scan_args(result->values())));
9764
39.7k
    return result;
9765
39.7k
}
_ZN3scn2v44scanIJjENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9760
32.4k
{
9761
32.4k
    auto result = make_scan_result<Source, Args...>();
9762
32.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
32.4k
                                   make_scan_args(result->values())));
9764
32.4k
    return result;
9765
32.4k
}
_ZN3scn2v44scanIJxENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9760
40.4k
{
9761
40.4k
    auto result = make_scan_result<Source, Args...>();
9762
40.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
40.4k
                                   make_scan_args(result->values())));
9764
40.4k
    return result;
9765
40.4k
}
_ZN3scn2v44scanIJyENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
9760
32.7k
{
9761
32.7k
    auto result = make_scan_result<Source, Args...>();
9762
32.7k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
32.7k
                                   make_scan_args(result->values())));
9764
32.7k
    return result;
9765
32.7k
}
_ZN3scn2v44scanIJaENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9760
33.9k
{
9761
33.9k
    auto result = make_scan_result<Source, Args...>();
9762
33.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
33.9k
                                   make_scan_args(result->values())));
9764
33.9k
    return result;
9765
33.9k
}
_ZN3scn2v44scanIJhENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9760
29.9k
{
9761
29.9k
    auto result = make_scan_result<Source, Args...>();
9762
29.9k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
29.9k
                                   make_scan_args(result->values())));
9764
29.9k
    return result;
9765
29.9k
}
_ZN3scn2v44scanIJiENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9760
39.6k
{
9761
39.6k
    auto result = make_scan_result<Source, Args...>();
9762
39.6k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
39.6k
                                   make_scan_args(result->values())));
9764
39.6k
    return result;
9765
39.6k
}
_ZN3scn2v44scanIJjENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9760
32.4k
{
9761
32.4k
    auto result = make_scan_result<Source, Args...>();
9762
32.4k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
32.4k
                                   make_scan_args(result->values())));
9764
32.4k
    return result;
9765
32.4k
}
_ZN3scn2v44scanIJxENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9760
40.3k
{
9761
40.3k
    auto result = make_scan_result<Source, Args...>();
9762
40.3k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
40.3k
                                   make_scan_args(result->values())));
9764
40.3k
    return result;
9765
40.3k
}
_ZN3scn2v44scanIJyENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
9760
32.8k
{
9761
32.8k
    auto result = make_scan_result<Source, Args...>();
9762
32.8k
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9763
32.8k
                                   make_scan_args(result->values())));
9764
32.8k
    return result;
9765
32.8k
}
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESQ_NSD_22borrowed_tail_subrangeISM_Xsr6rangesE14borrowed_rangeISM_EEE4typeEE4typeEJDpT_EEEEEOSM_NS0_24basic_scan_format_stringIcNSD_13type_identityISM_E4typeEJDpNS12_ISW_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJdERNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Unexecuted instantiation: _ZN3scn2v44scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
9766
9767
/**
9768
 * `scan` with explicitly supplied default values
9769
 *
9770
 * Can be used, for example, for pre-allocating a scanned string:
9771
 *
9772
 * \code{.cpp}
9773
 * std::string str;
9774
 * str.reserve(64);
9775
 *
9776
 * // As long as the read string fits in `str`,
9777
 * // does not allocate
9778
 * auto result = scn::scan<std::string>(source, "{}",
9779
 *                                      {std::move(str)});
9780
 * // Access the read string with result->value()
9781
 * \endcode
9782
 *
9783
 * \ingroup scan
9784
 */
9785
template <typename... Args,
9786
          typename Source,
9787
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9788
SCN_NODISCARD auto scan(Source&& source,
9789
                        scan_format_string<Source, Args...> format,
9790
                        std::tuple<Args...>&& initial_args)
9791
    -> scan_result_type<Source, Args...>
9792
{
9793
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9794
    fill_scan_result(result, vscan(SCN_FWD(source), format,
9795
                                   make_scan_args(result->values())));
9796
    return result;
9797
}
9798
9799
/**
9800
 * \defgroup locale Localization
9801
 *
9802
 * \brief Scanning APIs that allow passing in a locale
9803
 */
9804
9805
/**
9806
 * `scan` using an explicit locale.
9807
 *
9808
 * Has no effect on its own, locale-specific scanning still needs to be
9809
 * opted-into on an argument-by-argument basis, with the `L` format string
9810
 * specifier.
9811
 *
9812
 * \code{.cpp}
9813
 * auto result = scn::scan<double>(
9814
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
9815
 * // result->value() == 3.14
9816
 * \endcode
9817
 *
9818
 * \ingroup locale
9819
 */
9820
template <typename... Args,
9821
          typename Locale,
9822
          typename Source,
9823
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9824
          typename = std::void_t<decltype(Locale::classic())>>
9825
SCN_NODISCARD auto scan(const Locale& loc,
9826
                        Source&& source,
9827
                        scan_format_string<Source, Args...> format)
9828
    -> scan_result_type<Source, Args...>
9829
418k
{
9830
418k
    auto result = make_scan_result<Source, Args...>();
9831
418k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
418k
                                   make_scan_args(result->values())));
9833
418k
    return result;
9834
418k
}
_ZN3scn2v44scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9829
33.9k
{
9830
33.9k
    auto result = make_scan_result<Source, Args...>();
9831
33.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
33.9k
                                   make_scan_args(result->values())));
9833
33.9k
    return result;
9834
33.9k
}
_ZN3scn2v44scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9829
29.9k
{
9830
29.9k
    auto result = make_scan_result<Source, Args...>();
9831
29.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
29.9k
                                   make_scan_args(result->values())));
9833
29.9k
    return result;
9834
29.9k
}
_ZN3scn2v44scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9829
39.7k
{
9830
39.7k
    auto result = make_scan_result<Source, Args...>();
9831
39.7k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
39.7k
                                   make_scan_args(result->values())));
9833
39.7k
    return result;
9834
39.7k
}
_ZN3scn2v44scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9829
32.4k
{
9830
32.4k
    auto result = make_scan_result<Source, Args...>();
9831
32.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
32.4k
                                   make_scan_args(result->values())));
9833
32.4k
    return result;
9834
32.4k
}
_ZN3scn2v44scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9829
40.4k
{
9830
40.4k
    auto result = make_scan_result<Source, Args...>();
9831
40.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
40.4k
                                   make_scan_args(result->values())));
9833
40.4k
    return result;
9834
40.4k
}
_ZN3scn2v44scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
9829
32.7k
{
9830
32.7k
    auto result = make_scan_result<Source, Args...>();
9831
32.7k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
32.7k
                                   make_scan_args(result->values())));
9833
32.7k
    return result;
9834
32.7k
}
_ZN3scn2v44scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9829
33.9k
{
9830
33.9k
    auto result = make_scan_result<Source, Args...>();
9831
33.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
33.9k
                                   make_scan_args(result->values())));
9833
33.9k
    return result;
9834
33.9k
}
_ZN3scn2v44scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9829
29.9k
{
9830
29.9k
    auto result = make_scan_result<Source, Args...>();
9831
29.9k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
29.9k
                                   make_scan_args(result->values())));
9833
29.9k
    return result;
9834
29.9k
}
_ZN3scn2v44scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9829
39.6k
{
9830
39.6k
    auto result = make_scan_result<Source, Args...>();
9831
39.6k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
39.6k
                                   make_scan_args(result->values())));
9833
39.6k
    return result;
9834
39.6k
}
_ZN3scn2v44scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9829
32.4k
{
9830
32.4k
    auto result = make_scan_result<Source, Args...>();
9831
32.4k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
32.4k
                                   make_scan_args(result->values())));
9833
32.4k
    return result;
9834
32.4k
}
_ZN3scn2v44scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9829
40.3k
{
9830
40.3k
    auto result = make_scan_result<Source, Args...>();
9831
40.3k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
40.3k
                                   make_scan_args(result->values())));
9833
40.3k
    return result;
9834
40.3k
}
_ZN3scn2v44scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
9829
32.8k
{
9830
32.8k
    auto result = make_scan_result<Source, Args...>();
9831
32.8k
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9832
32.8k
                                   make_scan_args(result->values())));
9833
32.8k
    return result;
9834
32.8k
}
9835
9836
/**
9837
 * `scan` with a locale and default values
9838
 *
9839
 * \ingroup locale
9840
 */
9841
template <typename... Args,
9842
          typename Locale,
9843
          typename Source,
9844
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
9845
          typename = std::void_t<decltype(Locale::classic())>>
9846
SCN_NODISCARD auto scan(const Locale& loc,
9847
                        Source&& source,
9848
                        scan_format_string<Source, Args...> format,
9849
                        std::tuple<Args...>&& initial_args)
9850
    -> scan_result_type<Source, Args...>
9851
{
9852
    auto result = make_scan_result<Source>(SCN_MOVE(initial_args));
9853
    fill_scan_result(result, vscan(loc, SCN_FWD(source), format,
9854
                                   make_scan_args(result->values())));
9855
    return result;
9856
}
9857
9858
/**
9859
 * `scan` a single value, with default options.
9860
 *
9861
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
9862
 * except it can skip parsing the format string, gaining performance.
9863
 *
9864
 * \ingroup scan
9865
 */
9866
template <typename T,
9867
          typename Source,
9868
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
9869
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
9870
63.1k
{
9871
63.1k
    auto result = make_scan_result<Source, T>();
9872
63.1k
    fill_scan_result(
9873
63.1k
        result, vscan_value(SCN_FWD(source),
9874
63.1k
                            detail::make_arg<scan_context>(result->value())));
9875
63.1k
    return result;
9876
63.1k
}
_ZN3scn2v410scan_valueIaNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
9870
5.29k
{
9871
5.29k
    auto result = make_scan_result<Source, T>();
9872
5.29k
    fill_scan_result(
9873
5.29k
        result, vscan_value(SCN_FWD(source),
9874
5.29k
                            detail::make_arg<scan_context>(result->value())));
9875
5.29k
    return result;
9876
5.29k
}
_ZN3scn2v410scan_valueIhNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
9870
4.41k
{
9871
4.41k
    auto result = make_scan_result<Source, T>();
9872
4.41k
    fill_scan_result(
9873
4.41k
        result, vscan_value(SCN_FWD(source),
9874
4.41k
                            detail::make_arg<scan_context>(result->value())));
9875
4.41k
    return result;
9876
4.41k
}
_ZN3scn2v410scan_valueIiNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
9870
6.11k
{
9871
6.11k
    auto result = make_scan_result<Source, T>();
9872
6.11k
    fill_scan_result(
9873
6.11k
        result, vscan_value(SCN_FWD(source),
9874
6.11k
                            detail::make_arg<scan_context>(result->value())));
9875
6.11k
    return result;
9876
6.11k
}
_ZN3scn2v410scan_valueIjNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
9870
4.85k
{
9871
4.85k
    auto result = make_scan_result<Source, T>();
9872
4.85k
    fill_scan_result(
9873
4.85k
        result, vscan_value(SCN_FWD(source),
9874
4.85k
                            detail::make_arg<scan_context>(result->value())));
9875
4.85k
    return result;
9876
4.85k
}
_ZN3scn2v410scan_valueIxNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
9870
6.22k
{
9871
6.22k
    auto result = make_scan_result<Source, T>();
9872
6.22k
    fill_scan_result(
9873
6.22k
        result, vscan_value(SCN_FWD(source),
9874
6.22k
                            detail::make_arg<scan_context>(result->value())));
9875
6.22k
    return result;
9876
6.22k
}
_ZN3scn2v410scan_valueIyNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
9870
4.91k
{
9871
4.91k
    auto result = make_scan_result<Source, T>();
9872
4.91k
    fill_scan_result(
9873
4.91k
        result, vscan_value(SCN_FWD(source),
9874
4.91k
                            detail::make_arg<scan_context>(result->value())));
9875
4.91k
    return result;
9876
4.91k
}
_ZN3scn2v410scan_valueIaNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
9870
5.28k
{
9871
5.28k
    auto result = make_scan_result<Source, T>();
9872
5.28k
    fill_scan_result(
9873
5.28k
        result, vscan_value(SCN_FWD(source),
9874
5.28k
                            detail::make_arg<scan_context>(result->value())));
9875
5.28k
    return result;
9876
5.28k
}
_ZN3scn2v410scan_valueIhNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
9870
4.40k
{
9871
4.40k
    auto result = make_scan_result<Source, T>();
9872
4.40k
    fill_scan_result(
9873
4.40k
        result, vscan_value(SCN_FWD(source),
9874
4.40k
                            detail::make_arg<scan_context>(result->value())));
9875
4.40k
    return result;
9876
4.40k
}
_ZN3scn2v410scan_valueIiNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
9870
5.92k
{
9871
5.92k
    auto result = make_scan_result<Source, T>();
9872
5.92k
    fill_scan_result(
9873
5.92k
        result, vscan_value(SCN_FWD(source),
9874
5.92k
                            detail::make_arg<scan_context>(result->value())));
9875
5.92k
    return result;
9876
5.92k
}
_ZN3scn2v410scan_valueIjNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
9870
4.83k
{
9871
4.83k
    auto result = make_scan_result<Source, T>();
9872
4.83k
    fill_scan_result(
9873
4.83k
        result, vscan_value(SCN_FWD(source),
9874
4.83k
                            detail::make_arg<scan_context>(result->value())));
9875
4.83k
    return result;
9876
4.83k
}
_ZN3scn2v410scan_valueIxNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
9870
6.02k
{
9871
6.02k
    auto result = make_scan_result<Source, T>();
9872
6.02k
    fill_scan_result(
9873
6.02k
        result, vscan_value(SCN_FWD(source),
9874
6.02k
                            detail::make_arg<scan_context>(result->value())));
9875
6.02k
    return result;
9876
6.02k
}
_ZN3scn2v410scan_valueIyNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
9870
4.89k
{
9871
4.89k
    auto result = make_scan_result<Source, T>();
9872
4.89k
    fill_scan_result(
9873
4.89k
        result, vscan_value(SCN_FWD(source),
9874
4.89k
                            detail::make_arg<scan_context>(result->value())));
9875
4.89k
    return result;
9876
4.89k
}
9877
9878
/**
9879
 * `scan` a single value, with default options, and a default value.
9880
 *
9881
 * \ingroup scan
9882
 */
9883
template <typename T,
9884
          typename Source,
9885
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
9886
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
9887
    -> scan_result_type<Source, T>
9888
{
9889
    auto result =
9890
        make_scan_result<Source>(std::tuple<T>{SCN_MOVE(initial_value)});
9891
    fill_scan_result(
9892
        result, vscan_value(SCN_FWD(source),
9893
                            detail::make_arg<scan_context>(result->value())));
9894
    return result;
9895
}
9896
9897
/**
9898
 * Scan from `stdin`.
9899
 *
9900
 * Equivalent to `scn::scan<...>(stdin, ...)`.
9901
 *
9902
 * \code{.cpp}
9903
 * auto result = scn::input<int>("{}");
9904
 * \endcode
9905
 *
9906
 * \ingroup scan
9907
 */
9908
template <typename... Args>
9909
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
9910
    -> scan_result_type<std::FILE*, Args...>
9911
{
9912
    auto result = scan_result_type<std::FILE*, Args...>(std::in_place, stdin,
9913
                                                        std::tuple<Args...>{});
9914
    auto err = vinput(format, make_scan_args(result->values()));
9915
    if (SCN_UNLIKELY(!err)) {
9916
        result = unexpected(err.error());
9917
    }
9918
    return result;
9919
}
9920
9921
/**
9922
 * Write msg to stdout, and call `input<Args...>(format)`
9923
 *
9924
 * \ingroup scan
9925
 */
9926
template <typename... Args>
9927
SCN_NODISCARD auto prompt(const char* msg,
9928
                          scan_format_string<std::FILE*, Args...> format)
9929
    -> scan_result_type<std::FILE*, Args...>
9930
{
9931
    std::printf("%s", msg);
9932
    std::fflush(stdout);
9933
    return input<Args...>(format);
9934
}
9935
9936
namespace detail {
9937
template <typename T>
9938
inline constexpr bool is_scan_int_type =
9939
    (std::is_integral_v<T> && !std::is_same_v<T, char> &&
9940
     !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
9941
     !std::is_same_v<T, bool>)
9942
#if SCN_HAS_INT128
9943
    || std::is_same_v<T, int128> || std::is_same_v<T, uint128>
9944
#endif
9945
    ;
9946
}  // namespace detail
9947
9948
/**
9949
 * Fast integer reading.
9950
 *
9951
 * Quickly reads an integer from a `std::string_view`. Skips preceding
9952
 * whitespace.
9953
 *
9954
 * Reads in the specified base,
9955
 * allowing a base prefix. Set `base` to `0` to detect the base from the
9956
 * input. `base` must either be `0`, or in range `[2, 36]`.
9957
 *
9958
 * \ingroup scan
9959
 */
9960
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9961
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
9962
    -> scan_result_type<std::string_view, T>
9963
{
9964
    auto result = scan_result_type<std::string_view, T>();
9965
    if (auto r = detail::scan_int_impl(source, result->value(), base);
9966
        SCN_LIKELY(r)) {
9967
        result->set_range(ranges::subrange{*r, source.end()});
9968
    }
9969
    else {
9970
        result = unexpected(r.error());
9971
    }
9972
    return result;
9973
}
9974
9975
namespace detail {
9976
template <bool Val, typename T>
9977
inline constexpr bool dependent_bool = Val;
9978
}
9979
9980
/**
9981
 * Very fast integer reading.
9982
 *
9983
 * Quickly reads an integer from a `std::string_view`.
9984
 *
9985
 * Be very careful when using this one!
9986
 * Its speed comes from some very heavy assumptions about the validity of
9987
 * the input:
9988
 *  - `source` must not be empty.
9989
 *  - `source` contains nothing but the integer: no leading or trailing
9990
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
9991
 *    no `+` is allowed.
9992
 *  - The parsed value does not overflow.
9993
 *  - The input is a valid base-10 integer.
9994
 * Breaking these assumptions will lead to UB.
9995
 *
9996
 * \ingroup scan
9997
 */
9998
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9999
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
10000
{
10001
    static_assert(
10002
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
10003
        "scan_int_exhaustive_valid requires a little endian environment");
10004
    return detail::scan_int_exhaustive_valid_impl<T>(source);
10005
}
10006
10007
SCN_END_NAMESPACE
10008
}  // namespace scn